From: CVS to git conversion script Date: Thu, 20 Jun 2002 20:29:55 +0000 (+0000) Subject: This commit was manufactured by cvs2git to create branch 'ecpg_big_bison'. X-Git-Url: http://git.postgresql.org/gitweb/static/gitweb.js?a=commitdiff_plain;h=05dedace84ef8c93fea5309c3ac55f889011429b;p=users%2Fc2main%2Fpostgres.git This commit was manufactured by cvs2git to create branch 'ecpg_big_bison'. Sprout from master 2002-06-20 20:29:54 UTC Bruce Momjian 'Update copyright to 2002.' Delete: COPYRIGHT GNUmakefile.in HISTORY INSTALL Makefile README aclocal.m4 config/ac_func_accept_argtypes.m4 config/c-compiler.m4 config/c-library.m4 config/config.guess config/config.sub config/cxx.m4 config/docbook.m4 config/general.m4 config/install-sh config/java.m4 config/libtool.m4 config/missing config/mkinstalldirs config/perl.m4 config/prep_buildtree config/programs.m4 config/python.m4 config/tcl.m4 configure configure.in contrib/Makefile contrib/README contrib/array/Makefile contrib/array/README.array_iterator contrib/array/array_iterator.c contrib/array/array_iterator.h contrib/array/array_iterator.sql.in contrib/btree_gist/Makefile contrib/btree_gist/README.btree_gist contrib/btree_gist/btree_gist.c contrib/btree_gist/btree_gist.sql.in contrib/btree_gist/data/test_btree.data contrib/btree_gist/data/test_btree_ts.data contrib/btree_gist/expected/btree_gist.out contrib/btree_gist/sql/btree_gist.sql contrib/chkpass/Makefile contrib/chkpass/README.chkpass contrib/chkpass/chkpass.c contrib/chkpass/chkpass.sql.in contrib/contrib-global.mk contrib/cube/Makefile contrib/cube/README.cube contrib/cube/buffer.c contrib/cube/buffer.h contrib/cube/cube.c contrib/cube/cube.sql.in contrib/cube/cubedata.h contrib/cube/cubeparse.y contrib/cube/cubescan.l contrib/cube/data/test_cube.data contrib/cube/expected/cube.out contrib/cube/sql/cube.sql contrib/dbase/Makefile contrib/dbase/README.dbf2pg contrib/dbase/dbf.c contrib/dbase/dbf.h contrib/dbase/dbf2pg.1 contrib/dbase/dbf2pg.c contrib/dbase/endian.c contrib/dblink/Makefile contrib/dblink/README.dblink contrib/dblink/dblink.c contrib/dblink/dblink.h contrib/dblink/dblink.sql.in contrib/dbsize/Makefile contrib/dbsize/README.dbsize contrib/dbsize/dbsize.c contrib/dbsize/dbsize.sql.in contrib/earthdistance/Makefile contrib/earthdistance/README.earthdistance contrib/earthdistance/earthdistance.c contrib/earthdistance/earthdistance.sql.in contrib/findoidjoins/Makefile contrib/findoidjoins/README.findoidjoins contrib/findoidjoins/findoidjoins.c contrib/findoidjoins/make_oidjoins_check contrib/fulltextindex/Makefile contrib/fulltextindex/README.fti contrib/fulltextindex/TODO contrib/fulltextindex/fti.c contrib/fulltextindex/fti.pl contrib/fulltextindex/fti.sql.in contrib/fulltextindex/timings.sh contrib/fuzzystrmatch/Makefile contrib/fuzzystrmatch/README.fuzzystrmatch contrib/fuzzystrmatch/README.soundex contrib/fuzzystrmatch/fuzzystrmatch.c contrib/fuzzystrmatch/fuzzystrmatch.h contrib/fuzzystrmatch/fuzzystrmatch.sql.in contrib/intagg/Makefile contrib/intagg/README.int_aggregate contrib/intagg/int_aggregate.c contrib/intagg/int_aggregate.sql.in contrib/intarray/Makefile contrib/intarray/README.intarray contrib/intarray/_int.c contrib/intarray/_int.sql.in contrib/intarray/bench/bench.pl contrib/intarray/bench/create_test.pl contrib/intarray/data/test__int.data contrib/intarray/expected/_int.out contrib/intarray/sql/_int.sql contrib/ipc_check/README contrib/ipc_check/ipc_check.pl contrib/isbn_issn/Makefile contrib/isbn_issn/README.isbn_issn contrib/isbn_issn/isbn_issn.c contrib/isbn_issn/isbn_issn.sql.in contrib/lo/Makefile contrib/lo/README.lo contrib/lo/lo.c contrib/lo/lo.sql.in contrib/lo/lo_drop.sql contrib/lo/lo_test.sql contrib/mSQL-interface/Makefile contrib/mSQL-interface/README.mpgsql contrib/mSQL-interface/mpgsql.c contrib/mac/README.mac contrib/mac/createoui contrib/mac/dropoui contrib/mac/ouiparse.awk contrib/mac/updateoui contrib/miscutil/Makefile contrib/miscutil/README.misc_utils contrib/miscutil/misc_utils.c contrib/miscutil/misc_utils.h contrib/miscutil/misc_utils.sql.in contrib/mysql/README contrib/mysql/my2pg.pl contrib/mysql/mysql2pgsql contrib/noupdate/Makefile contrib/noupdate/README.noup contrib/noupdate/noup.c contrib/noupdate/noup.sql.in contrib/oid2name/Makefile contrib/oid2name/README.oid2name contrib/oid2name/oid2name.c contrib/oracle/CHANGES contrib/oracle/Ora2Pg.pm contrib/oracle/README.ora2pg contrib/oracle/TODO contrib/oracle/ora2pg.html contrib/oracle/ora2pg.pl contrib/pg_controldata/Makefile contrib/pg_controldata/README.pg_controldata contrib/pg_controldata/pg_controldata.c contrib/pg_dumplo/Makefile contrib/pg_dumplo/README.pg_dumplo contrib/pg_dumplo/lo_export.c contrib/pg_dumplo/lo_import.c contrib/pg_dumplo/main.c contrib/pg_dumplo/pg_dumplo.h contrib/pg_dumplo/utils.c contrib/pg_logger/Makefile contrib/pg_logger/README.pg_logger contrib/pg_logger/pg_logger.c contrib/pg_resetxlog/Makefile contrib/pg_resetxlog/README.pg_resetxlog contrib/pg_resetxlog/pg_resetxlog.c contrib/pg_upgrade/README contrib/pg_upgrade/pg_upgrade contrib/pg_upgrade/pg_upgrade.1 contrib/pgbench/Makefile contrib/pgbench/README.pgbench contrib/pgbench/README.pgbench_jis contrib/pgbench/pgbench.c contrib/pgcrypto/API contrib/pgcrypto/Makefile contrib/pgcrypto/README.pgcrypto contrib/pgcrypto/blf.c contrib/pgcrypto/blf.h contrib/pgcrypto/crypt-blowfish.c contrib/pgcrypto/crypt-des.c contrib/pgcrypto/crypt-gensalt.c contrib/pgcrypto/crypt-md5.c contrib/pgcrypto/expected/blowfish.out contrib/pgcrypto/expected/crypt-blowfish.out contrib/pgcrypto/expected/crypt-des.out contrib/pgcrypto/expected/crypt-md5.out contrib/pgcrypto/expected/crypt-xdes.out contrib/pgcrypto/expected/hmac-md5.out contrib/pgcrypto/expected/hmac-sha1.out contrib/pgcrypto/expected/init.out contrib/pgcrypto/expected/md5.out contrib/pgcrypto/expected/rijndael.out contrib/pgcrypto/expected/sha1.out contrib/pgcrypto/internal.c contrib/pgcrypto/md5.c contrib/pgcrypto/md5.h contrib/pgcrypto/mhash.c contrib/pgcrypto/misc.c contrib/pgcrypto/openssl.c contrib/pgcrypto/pgcrypto.c contrib/pgcrypto/pgcrypto.h contrib/pgcrypto/pgcrypto.sql.in contrib/pgcrypto/px-crypt.c contrib/pgcrypto/px-crypt.h contrib/pgcrypto/px-hmac.c contrib/pgcrypto/px.c contrib/pgcrypto/px.h contrib/pgcrypto/random.c contrib/pgcrypto/rijndael.c contrib/pgcrypto/rijndael.h contrib/pgcrypto/rijndael.tbl contrib/pgcrypto/sha1.c contrib/pgcrypto/sha1.h contrib/pgcrypto/sql/blowfish.sql contrib/pgcrypto/sql/crypt-blowfish.sql contrib/pgcrypto/sql/crypt-des.sql contrib/pgcrypto/sql/crypt-md5.sql contrib/pgcrypto/sql/crypt-xdes.sql contrib/pgcrypto/sql/hmac-md5.sql contrib/pgcrypto/sql/hmac-sha1.sql contrib/pgcrypto/sql/init.sql contrib/pgcrypto/sql/md5.sql contrib/pgcrypto/sql/rijndael.sql contrib/pgcrypto/sql/sha1.sql contrib/pgstattuple/Makefile contrib/pgstattuple/README.pgstattuple contrib/pgstattuple/README.pgstattuple.euc_jp contrib/pgstattuple/pgstattuple.c contrib/pgstattuple/pgstattuple.sql.in contrib/retep/CHANGELOG contrib/retep/Implementation contrib/retep/Makefile contrib/retep/README contrib/retep/build.xml contrib/retep/data/cds.dtd contrib/retep/data/cds.xml contrib/retep/retep.jpx contrib/retep/uk/org/retep/dtu/DCollection.java contrib/retep/uk/org/retep/dtu/DConstants.java contrib/retep/uk/org/retep/dtu/DElement.java contrib/retep/uk/org/retep/dtu/DEnvironment.java contrib/retep/uk/org/retep/dtu/DModule.java contrib/retep/uk/org/retep/dtu/DModuleXML.java contrib/retep/uk/org/retep/dtu/DNode.java contrib/retep/uk/org/retep/dtu/DProcessor.java contrib/retep/uk/org/retep/dtu/DTransform.java contrib/retep/uk/org/retep/tools/Tool.java contrib/retep/uk/org/retep/tools.properties contrib/retep/uk/org/retep/util/ExceptionDialog.java contrib/retep/uk/org/retep/util/Globals.java contrib/retep/uk/org/retep/util/Logger.java contrib/retep/uk/org/retep/util/Main.java contrib/retep/uk/org/retep/util/StandaloneApp.java contrib/retep/uk/org/retep/util/hba/Editor.java contrib/retep/uk/org/retep/util/hba/Main.java contrib/retep/uk/org/retep/util/hba/Record.java contrib/retep/uk/org/retep/util/misc/IPAddress.java contrib/retep/uk/org/retep/util/misc/PropertiesIO.java contrib/retep/uk/org/retep/util/misc/WStringTokenizer.java contrib/retep/uk/org/retep/util/models/HBATableModel.java contrib/retep/uk/org/retep/util/models/PropertiesTableModel.java contrib/retep/uk/org/retep/util/proped/Main.java contrib/retep/uk/org/retep/util/proped/PropertyEditor.java contrib/retep/uk/org/retep/xml/core/XMLFactory.java contrib/retep/uk/org/retep/xml/core/XMLFactoryException.java contrib/retep/uk/org/retep/xml/jdbc/XMLDatabase.java contrib/retep/uk/org/retep/xml/jdbc/XMLResultSet.java contrib/retep/uk/org/retep/xml/parser/TagHandler.java contrib/retep/uk/org/retep/xml/parser/TagListener.java contrib/retep/uk/org/retep/xml/test/XMLExport.java contrib/rserv/ApplySnapshot.in contrib/rserv/CleanLog.in contrib/rserv/GetSyncID.in contrib/rserv/InitRservTest.in contrib/rserv/Makefile contrib/rserv/MasterAddTable.in contrib/rserv/MasterInit.in contrib/rserv/MasterSync.in contrib/rserv/PrepareSnapshot.in contrib/rserv/README.rserv contrib/rserv/RServ.pm contrib/rserv/Replicate.in contrib/rserv/RservTest.in contrib/rserv/SlaveAddTable.in contrib/rserv/SlaveInit.in contrib/rserv/master.sql.in contrib/rserv/regress.sh contrib/rserv/rserv.c contrib/rserv/slave.sql.in contrib/rtree_gist/Makefile contrib/rtree_gist/README.rtree_gist contrib/rtree_gist/bench/bench.pl contrib/rtree_gist/bench/create_test.pl contrib/rtree_gist/data/test_box.data contrib/rtree_gist/expected/rtree_gist.out contrib/rtree_gist/rtree_gist.c contrib/rtree_gist/rtree_gist.sql.in contrib/rtree_gist/sql/rtree_gist.sql contrib/seg/Makefile contrib/seg/README.seg contrib/seg/buffer.c contrib/seg/buffer.h contrib/seg/data/test_seg.data contrib/seg/expected/seg.out contrib/seg/seg-validate.pl contrib/seg/seg.c contrib/seg/seg.sql.in contrib/seg/segdata.h contrib/seg/segparse.y contrib/seg/segscan.l contrib/seg/sort-segments.pl contrib/seg/sql/seg.sql contrib/spi/Makefile contrib/spi/README.spi contrib/spi/autoinc.c contrib/spi/autoinc.example contrib/spi/autoinc.sql.in contrib/spi/insert_username.c contrib/spi/insert_username.example contrib/spi/insert_username.sql.in contrib/spi/moddatetime.c contrib/spi/moddatetime.example contrib/spi/moddatetime.sql.in contrib/spi/preprocessor/README.MAX contrib/spi/preprocessor/example.sql contrib/spi/preprocessor/step1.c contrib/spi/preprocessor/step1.e contrib/spi/preprocessor/step2.pl contrib/spi/refint.c contrib/spi/refint.example contrib/spi/refint.sql.in contrib/spi/timetravel.c contrib/spi/timetravel.example contrib/spi/timetravel.sql.in contrib/start-scripts/freebsd contrib/start-scripts/linux contrib/string/Makefile contrib/string/README.string_io contrib/string/string_io.c contrib/string/string_io.h contrib/string/string_io.sql.in contrib/tips/Makefile contrib/tips/README.apachelog contrib/tools/add-emacs-variables contrib/tools/find-sources contrib/tools/make-tags contrib/tsearch/Makefile contrib/tsearch/README.tsearch contrib/tsearch/crc32.c contrib/tsearch/crc32.h contrib/tsearch/data/test_tsearch.data contrib/tsearch/deflex.h contrib/tsearch/dict/porter_english.dct contrib/tsearch/dict/russian_stemming.dct contrib/tsearch/dict.h contrib/tsearch/expected/tsearch.out contrib/tsearch/gistidx.c contrib/tsearch/gistidx.h contrib/tsearch/makedict/makedict.pl contrib/tsearch/morph.c contrib/tsearch/morph.h contrib/tsearch/parser.h contrib/tsearch/parser.l contrib/tsearch/query.c contrib/tsearch/query.h contrib/tsearch/rewrite.c contrib/tsearch/rewrite.h contrib/tsearch/sql/tsearch.sql contrib/tsearch/tsearch.sql.in contrib/tsearch/txtidx.c contrib/tsearch/txtidx.h contrib/userlock/Makefile contrib/userlock/README.user_locks contrib/userlock/user_locks.c contrib/userlock/user_locks.h contrib/userlock/user_locks.sql.in contrib/vacuumlo/Makefile contrib/vacuumlo/README.vacuumlo contrib/vacuumlo/vacuumlo.c contrib/xml/Makefile contrib/xml/README contrib/xml/TODO contrib/xml/pgxml.c contrib/xml/pgxml.h contrib/xml/pgxml.source contrib/xml/pgxml_dom.c contrib/xml/pgxml_dom.source doc/FAQ doc/FAQ_AIX doc/FAQ_DEV doc/FAQ_HPUX doc/FAQ_IRIX doc/FAQ_MSWIN doc/FAQ_QNX4 doc/FAQ_SCO doc/FAQ_Solaris doc/FAQ_german doc/FAQ_japanese doc/FAQ_polish doc/FAQ_russian doc/KNOWN_BUGS doc/MISSING_FEATURES doc/Makefile doc/README.mb.big5 doc/README.mb.jp doc/TODO doc/TODO.detail/README doc/TODO.detail/atttypmod doc/TODO.detail/crossdb doc/TODO.detail/cursor doc/TODO.detail/drop doc/TODO.detail/exists doc/TODO.detail/foreign doc/TODO.detail/fsync doc/TODO.detail/inheritance doc/TODO.detail/java doc/TODO.detail/mmap doc/TODO.detail/namedatalen doc/TODO.detail/optimizer doc/TODO.detail/performance doc/TODO.detail/persistent doc/TODO.detail/pool doc/TODO.detail/prepare doc/TODO.detail/privileges doc/TODO.detail/replication doc/TODO.detail/schema doc/TODO.detail/tablespaces doc/TODO.detail/thread doc/TODO.detail/transactions doc/TODO.detail/typeconv doc/TODO.detail/update doc/TODO.detail/vacuum doc/TODO.detail/view doc/TODO.detail/win32 doc/TODO.detail/yacc doc/bug.template doc/src/FAQ/FAQ.html doc/src/FAQ/FAQ_DEV.html doc/src/FAQ/FAQ_german.html doc/src/FAQ/FAQ_japanese.html doc/src/FAQ/FAQ_polish.html doc/src/FAQ/FAQ_russian.html doc/src/Makefile doc/src/graphics/catalogs.ag doc/src/graphics/catalogs.cgm doc/src/graphics/catalogs.gif doc/src/graphics/catalogs.ps doc/src/graphics/clientserver.ag doc/src/graphics/clientserver.gif doc/src/graphics/connections.ag doc/src/graphics/connections.gif doc/src/sgml/Makefile doc/src/sgml/admin.sgml doc/src/sgml/advanced.sgml doc/src/sgml/arch-dev.sgml doc/src/sgml/arch-pg.sgml doc/src/sgml/array.sgml doc/src/sgml/backup.sgml doc/src/sgml/biblio.sgml doc/src/sgml/bki.sgml doc/src/sgml/book-decl.sgml doc/src/sgml/catalogs.sgml doc/src/sgml/charset.sgml doc/src/sgml/client-auth.sgml doc/src/sgml/compiler.sgml doc/src/sgml/contacts.sgml doc/src/sgml/cvs.sgml doc/src/sgml/datatype.sgml doc/src/sgml/datetime.sgml doc/src/sgml/developer.sgml doc/src/sgml/dfunc.sgml doc/src/sgml/diskusage.sgml doc/src/sgml/docguide.sgml doc/src/sgml/ecpg.sgml doc/src/sgml/extend.sgml doc/src/sgml/features.sgml doc/src/sgml/filelist.sgml doc/src/sgml/fixrtf doc/src/sgml/func-ref.sgml doc/src/sgml/func.sgml doc/src/sgml/geqo.sgml doc/src/sgml/gist.sgml doc/src/sgml/history.sgml doc/src/sgml/indexcost.sgml doc/src/sgml/indices.sgml doc/src/sgml/info.sgml doc/src/sgml/inherit.sgml doc/src/sgml/install-win32.sgml doc/src/sgml/installation.sgml doc/src/sgml/intro.sgml doc/src/sgml/jdbc.sgml doc/src/sgml/keywords.sgml doc/src/sgml/legal.sgml doc/src/sgml/libpgeasy.sgml doc/src/sgml/libpgtcl.sgml doc/src/sgml/libpq++.sgml doc/src/sgml/libpq.sgml doc/src/sgml/lobj.sgml doc/src/sgml/maintenance.sgml doc/src/sgml/manage-ag.sgml doc/src/sgml/manage.sgml doc/src/sgml/monitoring.sgml doc/src/sgml/mvcc.sgml doc/src/sgml/nls.sgml doc/src/sgml/notation.sgml doc/src/sgml/odbc.sgml doc/src/sgml/page.sgml doc/src/sgml/perform.sgml doc/src/sgml/plperl.sgml doc/src/sgml/plpython.sgml doc/src/sgml/plsql.sgml doc/src/sgml/pltcl.sgml doc/src/sgml/postgres.sgml doc/src/sgml/problems.sgml doc/src/sgml/programmer.sgml doc/src/sgml/protocol.sgml doc/src/sgml/pygresql.sgml doc/src/sgml/queries.sgml doc/src/sgml/query.sgml doc/src/sgml/recovery.sgml doc/src/sgml/ref/abort.sgml doc/src/sgml/ref/allfiles.sgml doc/src/sgml/ref/alter_database.sgml doc/src/sgml/ref/alter_group.sgml doc/src/sgml/ref/alter_table.sgml doc/src/sgml/ref/alter_trigger.sgml doc/src/sgml/ref/alter_user.sgml doc/src/sgml/ref/analyze.sgml doc/src/sgml/ref/begin.sgml doc/src/sgml/ref/checkpoint.sgml doc/src/sgml/ref/close.sgml doc/src/sgml/ref/cluster.sgml doc/src/sgml/ref/comment.sgml doc/src/sgml/ref/commit.sgml doc/src/sgml/ref/copy.sgml doc/src/sgml/ref/create_aggregate.sgml doc/src/sgml/ref/create_constraint.sgml doc/src/sgml/ref/create_database.sgml doc/src/sgml/ref/create_domain.sgml doc/src/sgml/ref/create_function.sgml doc/src/sgml/ref/create_group.sgml doc/src/sgml/ref/create_index.sgml doc/src/sgml/ref/create_language.sgml doc/src/sgml/ref/create_operator.sgml doc/src/sgml/ref/create_rule.sgml doc/src/sgml/ref/create_schema.sgml doc/src/sgml/ref/create_sequence.sgml doc/src/sgml/ref/create_table.sgml doc/src/sgml/ref/create_table_as.sgml doc/src/sgml/ref/create_trigger.sgml doc/src/sgml/ref/create_type.sgml doc/src/sgml/ref/create_user.sgml doc/src/sgml/ref/create_view.sgml doc/src/sgml/ref/createdb.sgml doc/src/sgml/ref/createlang.sgml doc/src/sgml/ref/createuser.sgml doc/src/sgml/ref/current_date.sgml doc/src/sgml/ref/current_time.sgml doc/src/sgml/ref/current_timestamp.sgml doc/src/sgml/ref/current_user.sgml doc/src/sgml/ref/declare.sgml doc/src/sgml/ref/delete.sgml doc/src/sgml/ref/drop_aggregate.sgml doc/src/sgml/ref/drop_database.sgml doc/src/sgml/ref/drop_domain.sgml doc/src/sgml/ref/drop_function.sgml doc/src/sgml/ref/drop_group.sgml doc/src/sgml/ref/drop_index.sgml doc/src/sgml/ref/drop_language.sgml doc/src/sgml/ref/drop_operator.sgml doc/src/sgml/ref/drop_rule.sgml doc/src/sgml/ref/drop_sequence.sgml doc/src/sgml/ref/drop_table.sgml doc/src/sgml/ref/drop_trigger.sgml doc/src/sgml/ref/drop_type.sgml doc/src/sgml/ref/drop_user.sgml doc/src/sgml/ref/drop_view.sgml doc/src/sgml/ref/dropdb.sgml doc/src/sgml/ref/droplang.sgml doc/src/sgml/ref/dropuser.sgml doc/src/sgml/ref/ecpg-ref.sgml doc/src/sgml/ref/end.sgml doc/src/sgml/ref/explain.sgml doc/src/sgml/ref/fetch.sgml doc/src/sgml/ref/grant.sgml doc/src/sgml/ref/initdb.sgml doc/src/sgml/ref/initlocation.sgml doc/src/sgml/ref/insert.sgml doc/src/sgml/ref/ipcclean.sgml doc/src/sgml/ref/listen.sgml doc/src/sgml/ref/load.sgml doc/src/sgml/ref/lock.sgml doc/src/sgml/ref/move.sgml doc/src/sgml/ref/notify.sgml doc/src/sgml/ref/pg_config-ref.sgml doc/src/sgml/ref/pg_ctl-ref.sgml doc/src/sgml/ref/pg_dump.sgml doc/src/sgml/ref/pg_dumpall.sgml doc/src/sgml/ref/pg_restore.sgml doc/src/sgml/ref/pgaccess-ref.sgml doc/src/sgml/ref/pgtclsh.sgml doc/src/sgml/ref/pgtksh.sgml doc/src/sgml/ref/postgres-ref.sgml doc/src/sgml/ref/postmaster.sgml doc/src/sgml/ref/psql-ref.sgml doc/src/sgml/ref/reindex.sgml doc/src/sgml/ref/reset.sgml doc/src/sgml/ref/revoke.sgml doc/src/sgml/ref/rollback.sgml doc/src/sgml/ref/select.sgml doc/src/sgml/ref/select_into.sgml doc/src/sgml/ref/set.sgml doc/src/sgml/ref/set_constraints.sgml doc/src/sgml/ref/set_session_auth.sgml doc/src/sgml/ref/set_transaction.sgml doc/src/sgml/ref/show.sgml doc/src/sgml/ref/truncate.sgml doc/src/sgml/ref/unlisten.sgml doc/src/sgml/ref/update.sgml doc/src/sgml/ref/vacuum.sgml doc/src/sgml/ref/vacuumdb.sgml doc/src/sgml/refentry.sgml doc/src/sgml/reference.ced doc/src/sgml/reference.sgml doc/src/sgml/regress.sgml doc/src/sgml/release.sgml doc/src/sgml/rules.sgml doc/src/sgml/runtime.sgml doc/src/sgml/sources.sgml doc/src/sgml/spi.sgml doc/src/sgml/sql.sgml doc/src/sgml/standalone-install.sgml doc/src/sgml/start.sgml doc/src/sgml/stylesheet.css doc/src/sgml/stylesheet.dsl doc/src/sgml/syntax.sgml doc/src/sgml/trigger.sgml doc/src/sgml/tutorial.sgml doc/src/sgml/typeconv.sgml doc/src/sgml/user-manag.sgml doc/src/sgml/user.sgml doc/src/sgml/version.sgml doc/src/sgml/wal.sgml doc/src/sgml/xaggr.sgml doc/src/sgml/xfunc.sgml doc/src/sgml/xindex.sgml doc/src/sgml/xoper.sgml doc/src/sgml/xplang.sgml doc/src/sgml/xtypes.sgml doc/src/sgml/y2k.sgml register.txt src/DEVELOPERS src/Makefile src/Makefile.global.in src/Makefile.shlib src/backend/Makefile src/backend/access/Makefile src/backend/access/common/Makefile src/backend/access/common/heaptuple.c src/backend/access/common/indextuple.c src/backend/access/common/indexvalid.c src/backend/access/common/printtup.c src/backend/access/common/scankey.c src/backend/access/common/tupdesc.c src/backend/access/gist/Makefile src/backend/access/gist/gist.c src/backend/access/gist/gistget.c src/backend/access/gist/gistscan.c src/backend/access/gist/giststrat.c src/backend/access/hash/Makefile src/backend/access/hash/hash.c src/backend/access/hash/hashfunc.c src/backend/access/hash/hashinsert.c src/backend/access/hash/hashovfl.c src/backend/access/hash/hashpage.c src/backend/access/hash/hashscan.c src/backend/access/hash/hashsearch.c src/backend/access/hash/hashstrat.c src/backend/access/hash/hashutil.c src/backend/access/heap/Makefile src/backend/access/heap/heapam.c src/backend/access/heap/hio.c src/backend/access/heap/tuptoaster.c src/backend/access/index/Makefile src/backend/access/index/genam.c src/backend/access/index/indexam.c src/backend/access/index/istrat.c src/backend/access/nbtree/Makefile src/backend/access/nbtree/README src/backend/access/nbtree/nbtcompare.c src/backend/access/nbtree/nbtinsert.c src/backend/access/nbtree/nbtpage.c src/backend/access/nbtree/nbtree.c src/backend/access/nbtree/nbtsearch.c src/backend/access/nbtree/nbtsort.c src/backend/access/nbtree/nbtstrat.c src/backend/access/nbtree/nbtutils.c src/backend/access/rtree/Makefile src/backend/access/rtree/rtget.c src/backend/access/rtree/rtproc.c src/backend/access/rtree/rtree.c src/backend/access/rtree/rtscan.c src/backend/access/rtree/rtstrat.c src/backend/access/transam/Makefile src/backend/access/transam/clog.c src/backend/access/transam/rmgr.c src/backend/access/transam/transam.c src/backend/access/transam/varsup.c src/backend/access/transam/xact.c src/backend/access/transam/xid.c src/backend/access/transam/xlog.c src/backend/access/transam/xlogutils.c src/backend/bootstrap/.cvsignore src/backend/bootstrap/Makefile src/backend/bootstrap/bootparse.y src/backend/bootstrap/bootscanner.l src/backend/bootstrap/bootstrap.c src/backend/catalog/Makefile src/backend/catalog/README src/backend/catalog/aclchk.c src/backend/catalog/catalog.c src/backend/catalog/genbki.sh src/backend/catalog/heap.c src/backend/catalog/index.c src/backend/catalog/indexing.c src/backend/catalog/namespace.c src/backend/catalog/pg_aggregate.c src/backend/catalog/pg_largeobject.c src/backend/catalog/pg_namespace.c src/backend/catalog/pg_operator.c src/backend/catalog/pg_proc.c src/backend/catalog/pg_type.c src/backend/commands/Makefile src/backend/commands/_deadcode/recipe.c src/backend/commands/_deadcode/recipe.h src/backend/commands/_deadcode/version.c src/backend/commands/aggregatecmds.c src/backend/commands/analyze.c src/backend/commands/async.c src/backend/commands/cluster.c src/backend/commands/comment.c src/backend/commands/copy.c src/backend/commands/dbcommands.c src/backend/commands/define.c src/backend/commands/explain.c src/backend/commands/functioncmds.c src/backend/commands/indexcmds.c src/backend/commands/lockcmds.c src/backend/commands/operatorcmds.c src/backend/commands/portalcmds.c src/backend/commands/proclang.c src/backend/commands/schemacmds.c src/backend/commands/sequence.c src/backend/commands/tablecmds.c src/backend/commands/trigger.c src/backend/commands/typecmds.c src/backend/commands/user.c src/backend/commands/vacuum.c src/backend/commands/vacuumlazy.c src/backend/commands/variable.c src/backend/commands/view.c src/backend/executor/Makefile src/backend/executor/README src/backend/executor/_deadcode/nodeTee.c src/backend/executor/execAmi.c src/backend/executor/execJunk.c src/backend/executor/execMain.c src/backend/executor/execProcnode.c src/backend/executor/execQual.c src/backend/executor/execScan.c src/backend/executor/execTuples.c src/backend/executor/execUtils.c src/backend/executor/functions.c src/backend/executor/instrument.c src/backend/executor/nodeAgg.c src/backend/executor/nodeAppend.c src/backend/executor/nodeFunctionscan.c src/backend/executor/nodeGroup.c src/backend/executor/nodeHash.c src/backend/executor/nodeHashjoin.c src/backend/executor/nodeIndexscan.c src/backend/executor/nodeLimit.c src/backend/executor/nodeMaterial.c src/backend/executor/nodeMergejoin.c src/backend/executor/nodeNestloop.c src/backend/executor/nodeResult.c src/backend/executor/nodeSeqscan.c src/backend/executor/nodeSetOp.c src/backend/executor/nodeSort.c src/backend/executor/nodeSubplan.c src/backend/executor/nodeSubqueryscan.c src/backend/executor/nodeTidscan.c src/backend/executor/nodeUnique.c src/backend/executor/spi.c src/backend/lib/Makefile src/backend/lib/bit.c src/backend/lib/dllist.c src/backend/lib/lispsort.c src/backend/lib/stringinfo.c src/backend/libpq/Makefile src/backend/libpq/README.SSL src/backend/libpq/auth.c src/backend/libpq/be-fsstubs.c src/backend/libpq/be-secure.c src/backend/libpq/crypt.c src/backend/libpq/hba.c src/backend/libpq/md5.c src/backend/libpq/pg_hba.conf.sample src/backend/libpq/pg_ident.conf.sample src/backend/libpq/pqcomm.c src/backend/libpq/pqformat.c src/backend/libpq/pqsignal.c src/backend/main/Makefile src/backend/main/main.c src/backend/nodes/Makefile src/backend/nodes/README src/backend/nodes/copyfuncs.c src/backend/nodes/equalfuncs.c src/backend/nodes/list.c src/backend/nodes/makefuncs.c src/backend/nodes/nodeFuncs.c src/backend/nodes/nodes.c src/backend/nodes/outfuncs.c src/backend/nodes/print.c src/backend/nodes/read.c src/backend/nodes/readfuncs.c src/backend/optimizer/Makefile src/backend/optimizer/README src/backend/optimizer/geqo/Makefile src/backend/optimizer/geqo/geqo_copy.c src/backend/optimizer/geqo/geqo_cx.c src/backend/optimizer/geqo/geqo_erx.c src/backend/optimizer/geqo/geqo_eval.c src/backend/optimizer/geqo/geqo_main.c src/backend/optimizer/geqo/geqo_misc.c src/backend/optimizer/geqo/geqo_mutation.c src/backend/optimizer/geqo/geqo_ox1.c src/backend/optimizer/geqo/geqo_ox2.c src/backend/optimizer/geqo/geqo_pmx.c src/backend/optimizer/geqo/geqo_pool.c src/backend/optimizer/geqo/geqo_px.c src/backend/optimizer/geqo/geqo_recombination.c src/backend/optimizer/geqo/geqo_selection.c src/backend/optimizer/path/Makefile src/backend/optimizer/path/_deadcode/predmig.c src/backend/optimizer/path/_deadcode/xfunc.c src/backend/optimizer/path/allpaths.c src/backend/optimizer/path/clausesel.c src/backend/optimizer/path/costsize.c src/backend/optimizer/path/indxpath.c src/backend/optimizer/path/joinpath.c src/backend/optimizer/path/joinrels.c src/backend/optimizer/path/orindxpath.c src/backend/optimizer/path/pathkeys.c src/backend/optimizer/path/tidpath.c src/backend/optimizer/plan/Makefile src/backend/optimizer/plan/README src/backend/optimizer/plan/createplan.c src/backend/optimizer/plan/initsplan.c src/backend/optimizer/plan/planmain.c src/backend/optimizer/plan/planner.c src/backend/optimizer/plan/setrefs.c src/backend/optimizer/plan/subselect.c src/backend/optimizer/prep/Makefile src/backend/optimizer/prep/_deadcode/prepkeyset.c src/backend/optimizer/prep/prepqual.c src/backend/optimizer/prep/preptlist.c src/backend/optimizer/prep/prepunion.c src/backend/optimizer/util/Makefile src/backend/optimizer/util/clauses.c src/backend/optimizer/util/joininfo.c src/backend/optimizer/util/pathnode.c src/backend/optimizer/util/plancat.c src/backend/optimizer/util/relnode.c src/backend/optimizer/util/restrictinfo.c src/backend/optimizer/util/tlist.c src/backend/optimizer/util/var.c src/backend/parser/.cvsignore src/backend/parser/Makefile src/backend/parser/README src/backend/parser/analyze.c src/backend/parser/gram.y src/backend/parser/keywords.c src/backend/parser/parse_agg.c src/backend/parser/parse_clause.c src/backend/parser/parse_coerce.c src/backend/parser/parse_expr.c src/backend/parser/parse_func.c src/backend/parser/parse_node.c src/backend/parser/parse_oper.c src/backend/parser/parse_relation.c src/backend/parser/parse_target.c src/backend/parser/parse_type.c src/backend/parser/parser.c src/backend/parser/scan.l src/backend/parser/scansup.c src/backend/po/Makefile src/backend/po/cs.po src/backend/po/de.po src/backend/po/hu.po src/backend/po/nls.mk src/backend/po/ru.po src/backend/po/zh_CN.po src/backend/po/zh_TW.po src/backend/port/Makefile src/backend/port/aix/mkldexport.sh src/backend/port/beos/Makefile src/backend/port/beos/sem.c src/backend/port/beos/shm.c src/backend/port/beos/support.c src/backend/port/darwin/Makefile src/backend/port/darwin/README src/backend/port/darwin/system.c src/backend/port/dynloader/README.dlfcn.aix src/backend/port/dynloader/aix.c src/backend/port/dynloader/aix.h src/backend/port/dynloader/beos.c src/backend/port/dynloader/beos.h src/backend/port/dynloader/bsdi.c src/backend/port/dynloader/bsdi.h src/backend/port/dynloader/darwin.c src/backend/port/dynloader/darwin.h src/backend/port/dynloader/dgux.c src/backend/port/dynloader/dgux.h src/backend/port/dynloader/freebsd.c src/backend/port/dynloader/freebsd.h src/backend/port/dynloader/hpux.c src/backend/port/dynloader/hpux.h src/backend/port/dynloader/irix5.c src/backend/port/dynloader/irix5.h src/backend/port/dynloader/linux.c src/backend/port/dynloader/linux.h src/backend/port/dynloader/netbsd.c src/backend/port/dynloader/netbsd.h src/backend/port/dynloader/nextstep.c src/backend/port/dynloader/nextstep.h src/backend/port/dynloader/openbsd.c src/backend/port/dynloader/openbsd.h src/backend/port/dynloader/osf.c src/backend/port/dynloader/osf.h src/backend/port/dynloader/qnx4.c src/backend/port/dynloader/qnx4.h src/backend/port/dynloader/sco.c src/backend/port/dynloader/sco.h src/backend/port/dynloader/solaris.c src/backend/port/dynloader/solaris.h src/backend/port/dynloader/sunos4.c src/backend/port/dynloader/sunos4.h src/backend/port/dynloader/svr4.c src/backend/port/dynloader/svr4.h src/backend/port/dynloader/ultrix4.c src/backend/port/dynloader/ultrix4.h src/backend/port/dynloader/univel.c src/backend/port/dynloader/univel.h src/backend/port/dynloader/unixware.c src/backend/port/dynloader/unixware.h src/backend/port/dynloader/win.c src/backend/port/dynloader/win.h src/backend/port/gethostname.c src/backend/port/getrusage.c src/backend/port/hpux/tas.c.template src/backend/port/inet_aton.c src/backend/port/inet_aton.h src/backend/port/ipc_test.c src/backend/port/isinf.c src/backend/port/memcmp.c src/backend/port/nextstep/Makefile src/backend/port/nextstep/port.c src/backend/port/posix_sema.c src/backend/port/qnx4/Makefile src/backend/port/qnx4/ipc.h src/backend/port/qnx4/isnan.c src/backend/port/qnx4/rint.c src/backend/port/qnx4/sem.c src/backend/port/qnx4/sem.h src/backend/port/qnx4/shm.c src/backend/port/qnx4/shm.h src/backend/port/qnx4/tstrint.c src/backend/port/qnx4/tstsem.c src/backend/port/qnx4/tstshm.c src/backend/port/random.c src/backend/port/snprintf.c src/backend/port/srandom.c src/backend/port/strcasecmp.c src/backend/port/strerror.c src/backend/port/strtol.c src/backend/port/strtoul.c src/backend/port/sunos4/Makefile src/backend/port/sunos4/float.h src/backend/port/sysv_sema.c src/backend/port/sysv_shmem.c src/backend/port/tas/dummy.s src/backend/port/tas/hpux.s src/backend/port/tas/solaris_i386.s src/backend/port/tas/solaris_sparc.s src/backend/postmaster/Makefile src/backend/postmaster/pgstat.c src/backend/postmaster/postmaster.c src/backend/regex/COPYRIGHT src/backend/regex/Makefile src/backend/regex/WHATSNEW src/backend/regex/engine.c src/backend/regex/re_format.7 src/backend/regex/regcomp.c src/backend/regex/regerror.c src/backend/regex/regex.3 src/backend/regex/regexec.c src/backend/regex/regfree.c src/backend/regex/retest.c src/backend/rewrite/Makefile src/backend/rewrite/rewriteDefine.c src/backend/rewrite/rewriteHandler.c src/backend/rewrite/rewriteManip.c src/backend/rewrite/rewriteRemove.c src/backend/rewrite/rewriteSupport.c src/backend/storage/Makefile src/backend/storage/buffer/Makefile src/backend/storage/buffer/README src/backend/storage/buffer/buf_init.c src/backend/storage/buffer/buf_table.c src/backend/storage/buffer/bufmgr.c src/backend/storage/buffer/freelist.c src/backend/storage/buffer/localbuf.c src/backend/storage/file/Makefile src/backend/storage/file/buffile.c src/backend/storage/file/fd.c src/backend/storage/freespace/Makefile src/backend/storage/freespace/freespace.c src/backend/storage/ipc/Makefile src/backend/storage/ipc/README src/backend/storage/ipc/ipc.c src/backend/storage/ipc/ipci.c src/backend/storage/ipc/pmsignal.c src/backend/storage/ipc/shmem.c src/backend/storage/ipc/shmqueue.c src/backend/storage/ipc/sinval.c src/backend/storage/ipc/sinvaladt.c src/backend/storage/large_object/Makefile src/backend/storage/large_object/inv_api.c src/backend/storage/lmgr/Makefile src/backend/storage/lmgr/README src/backend/storage/lmgr/deadlock.c src/backend/storage/lmgr/lmgr.c src/backend/storage/lmgr/lock.c src/backend/storage/lmgr/lwlock.c src/backend/storage/lmgr/proc.c src/backend/storage/lmgr/s_lock.c src/backend/storage/lmgr/spin.c src/backend/storage/page/Makefile src/backend/storage/page/bufpage.c src/backend/storage/page/itemptr.c src/backend/storage/smgr/Makefile src/backend/storage/smgr/README src/backend/storage/smgr/md.c src/backend/storage/smgr/mm.c src/backend/storage/smgr/smgr.c src/backend/storage/smgr/smgrtype.c src/backend/tcop/Makefile src/backend/tcop/dest.c src/backend/tcop/fastpath.c src/backend/tcop/postgres.c src/backend/tcop/pquery.c src/backend/tcop/utility.c src/backend/tioga/Arr_TgRecipe.h src/backend/tioga/Makefile src/backend/tioga/Varray.c src/backend/tioga/Varray.h src/backend/tioga/tgRecipe.c src/backend/tioga/tgRecipe.h src/backend/utils/.cvsignore src/backend/utils/Gen_fmgrtab.sh src/backend/utils/Makefile src/backend/utils/adt/Makefile src/backend/utils/adt/acl.c src/backend/utils/adt/arrayfuncs.c src/backend/utils/adt/arrayutils.c src/backend/utils/adt/ascii.c src/backend/utils/adt/bool.c src/backend/utils/adt/cash.c src/backend/utils/adt/char.c src/backend/utils/adt/date.c src/backend/utils/adt/datetime.c src/backend/utils/adt/datum.c src/backend/utils/adt/encode.c src/backend/utils/adt/float.c src/backend/utils/adt/format_type.c src/backend/utils/adt/formatting.c src/backend/utils/adt/geo_ops.c src/backend/utils/adt/geo_selfuncs.c src/backend/utils/adt/inet_net_ntop.c src/backend/utils/adt/inet_net_pton.c src/backend/utils/adt/int.c src/backend/utils/adt/int8.c src/backend/utils/adt/like.c src/backend/utils/adt/like_match.c src/backend/utils/adt/mac.c src/backend/utils/adt/misc.c src/backend/utils/adt/nabstime.c src/backend/utils/adt/name.c src/backend/utils/adt/network.c src/backend/utils/adt/not_in.c src/backend/utils/adt/numeric.c src/backend/utils/adt/numutils.c src/backend/utils/adt/oid.c src/backend/utils/adt/oracle_compat.c src/backend/utils/adt/pg_locale.c src/backend/utils/adt/pg_lzcompress.c src/backend/utils/adt/pgstatfuncs.c src/backend/utils/adt/quote.c src/backend/utils/adt/regexp.c src/backend/utils/adt/regproc.c src/backend/utils/adt/ri_triggers.c src/backend/utils/adt/ruleutils.c src/backend/utils/adt/selfuncs.c src/backend/utils/adt/sets.c src/backend/utils/adt/tid.c src/backend/utils/adt/timestamp.c src/backend/utils/adt/varbit.c src/backend/utils/adt/varchar.c src/backend/utils/adt/varlena.c src/backend/utils/adt/version.c src/backend/utils/cache/Makefile src/backend/utils/cache/catcache.c src/backend/utils/cache/fcache.c src/backend/utils/cache/inval.c src/backend/utils/cache/lsyscache.c src/backend/utils/cache/relcache.c src/backend/utils/cache/syscache.c src/backend/utils/error/Makefile src/backend/utils/error/assert.c src/backend/utils/error/elog.c src/backend/utils/error/exc.c src/backend/utils/error/excabort.c src/backend/utils/error/excid.c src/backend/utils/error/format.c src/backend/utils/fmgr/Makefile src/backend/utils/fmgr/README src/backend/utils/fmgr/dfmgr.c src/backend/utils/fmgr/fmgr.c src/backend/utils/hash/Makefile src/backend/utils/hash/dynahash.c src/backend/utils/hash/hashfn.c src/backend/utils/hash/pg_crc.c src/backend/utils/init/Makefile src/backend/utils/init/findbe.c src/backend/utils/init/globals.c src/backend/utils/init/miscinit.c src/backend/utils/init/postinit.c src/backend/utils/mb/Makefile src/backend/utils/mb/README src/backend/utils/mb/Unicode/ISO10646-GB18030.TXT src/backend/utils/mb/Unicode/Makefile src/backend/utils/mb/Unicode/UCS_to_8859.pl src/backend/utils/mb/Unicode/UCS_to_BIG5.pl src/backend/utils/mb/Unicode/UCS_to_EUC_CN.pl src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl src/backend/utils/mb/Unicode/UCS_to_EUC_KR.pl src/backend/utils/mb/Unicode/UCS_to_EUC_TW.pl src/backend/utils/mb/Unicode/UCS_to_GB18030.pl src/backend/utils/mb/Unicode/UCS_to_GBK.pl src/backend/utils/mb/Unicode/UCS_to_JOHAB.pl src/backend/utils/mb/Unicode/UCS_to_SJIS.pl src/backend/utils/mb/Unicode/UCS_to_UHC.pl src/backend/utils/mb/Unicode/UCS_to_WIN874.pl src/backend/utils/mb/Unicode/UCS_to_WINX.pl src/backend/utils/mb/Unicode/UCS_to_cyrillic.pl src/backend/utils/mb/Unicode/alt_to_utf8.map src/backend/utils/mb/Unicode/big5_to_utf8.map src/backend/utils/mb/Unicode/euc_cn_to_utf8.map src/backend/utils/mb/Unicode/euc_jp_to_utf8.map src/backend/utils/mb/Unicode/euc_kr_to_utf8.map src/backend/utils/mb/Unicode/euc_tw_to_utf8.map src/backend/utils/mb/Unicode/gb18030_to_utf8.map src/backend/utils/mb/Unicode/gbk_to_utf8.map src/backend/utils/mb/Unicode/iso8859_10_to_utf8.map src/backend/utils/mb/Unicode/iso8859_13_to_utf8.map src/backend/utils/mb/Unicode/iso8859_14_to_utf8.map src/backend/utils/mb/Unicode/iso8859_15_to_utf8.map src/backend/utils/mb/Unicode/iso8859_16_to_utf8.map src/backend/utils/mb/Unicode/iso8859_2_to_utf8.map src/backend/utils/mb/Unicode/iso8859_3_to_utf8.map src/backend/utils/mb/Unicode/iso8859_4_to_utf8.map src/backend/utils/mb/Unicode/iso8859_5_to_utf8.map src/backend/utils/mb/Unicode/iso8859_6_to_utf8.map src/backend/utils/mb/Unicode/iso8859_7_to_utf8.map src/backend/utils/mb/Unicode/iso8859_8_to_utf8.map src/backend/utils/mb/Unicode/iso8859_9_to_utf8.map src/backend/utils/mb/Unicode/johab_to_utf8.map src/backend/utils/mb/Unicode/koi8r_to_utf8.map src/backend/utils/mb/Unicode/sjis_to_utf8.map src/backend/utils/mb/Unicode/tcvn_to_utf8.map src/backend/utils/mb/Unicode/ucs2utf.pl src/backend/utils/mb/Unicode/uhc_to_utf8.map src/backend/utils/mb/Unicode/utf8_to_alt.map src/backend/utils/mb/Unicode/utf8_to_big5.map src/backend/utils/mb/Unicode/utf8_to_euc_cn.map src/backend/utils/mb/Unicode/utf8_to_euc_jp.map src/backend/utils/mb/Unicode/utf8_to_euc_kr.map src/backend/utils/mb/Unicode/utf8_to_euc_tw.map src/backend/utils/mb/Unicode/utf8_to_gb18030.map src/backend/utils/mb/Unicode/utf8_to_gbk.map src/backend/utils/mb/Unicode/utf8_to_iso8859_10.map src/backend/utils/mb/Unicode/utf8_to_iso8859_13.map src/backend/utils/mb/Unicode/utf8_to_iso8859_14.map src/backend/utils/mb/Unicode/utf8_to_iso8859_15.map src/backend/utils/mb/Unicode/utf8_to_iso8859_16.map src/backend/utils/mb/Unicode/utf8_to_iso8859_2.map src/backend/utils/mb/Unicode/utf8_to_iso8859_3.map src/backend/utils/mb/Unicode/utf8_to_iso8859_4.map src/backend/utils/mb/Unicode/utf8_to_iso8859_5.map src/backend/utils/mb/Unicode/utf8_to_iso8859_6.map src/backend/utils/mb/Unicode/utf8_to_iso8859_7.map src/backend/utils/mb/Unicode/utf8_to_iso8859_8.map src/backend/utils/mb/Unicode/utf8_to_iso8859_9.map src/backend/utils/mb/Unicode/utf8_to_johab.map src/backend/utils/mb/Unicode/utf8_to_koi8r.map src/backend/utils/mb/Unicode/utf8_to_sjis.map src/backend/utils/mb/Unicode/utf8_to_tcvn.map src/backend/utils/mb/Unicode/utf8_to_uhc.map src/backend/utils/mb/Unicode/utf8_to_win1250.map src/backend/utils/mb/Unicode/utf8_to_win1251.map src/backend/utils/mb/Unicode/utf8_to_win1256.map src/backend/utils/mb/Unicode/utf8_to_win874.map src/backend/utils/mb/Unicode/win1250_to_utf8.map src/backend/utils/mb/Unicode/win1251_to_utf8.map src/backend/utils/mb/Unicode/win1256_to_utf8.map src/backend/utils/mb/Unicode/win874_to_utf8.map src/backend/utils/mb/alt.c src/backend/utils/mb/big5.c src/backend/utils/mb/conv.c src/backend/utils/mb/encnames.c src/backend/utils/mb/iso.c src/backend/utils/mb/mbutils.c src/backend/utils/mb/sjis.map src/backend/utils/mb/wchar.c src/backend/utils/mb/win.c src/backend/utils/mb/win1251.c src/backend/utils/mb/wstrcmp.c src/backend/utils/mb/wstrncmp.c src/backend/utils/misc/.cvsignore src/backend/utils/misc/Makefile src/backend/utils/misc/README src/backend/utils/misc/database.c src/backend/utils/misc/guc-file.l src/backend/utils/misc/guc.c src/backend/utils/misc/postgresql.conf.sample src/backend/utils/misc/ps_status.c src/backend/utils/misc/superuser.c src/backend/utils/mmgr/Makefile src/backend/utils/mmgr/README src/backend/utils/mmgr/aset.c src/backend/utils/mmgr/mcxt.c src/backend/utils/mmgr/portalmem.c src/backend/utils/sort/Makefile src/backend/utils/sort/logtape.c src/backend/utils/sort/tuplesort.c src/backend/utils/sort/tuplestore.c src/backend/utils/time/Makefile src/backend/utils/time/tqual.c src/bin/Makefile src/bin/initdb/Makefile src/bin/initdb/initdb.sh src/bin/initlocation/Makefile src/bin/initlocation/initlocation.sh src/bin/ipcclean/Makefile src/bin/ipcclean/ipcclean.sh src/bin/pg_config/Makefile src/bin/pg_config/pg_config.sh src/bin/pg_ctl/Makefile src/bin/pg_ctl/pg_ctl.sh src/bin/pg_dump/Makefile src/bin/pg_dump/README src/bin/pg_dump/common.c src/bin/pg_dump/cs.po src/bin/pg_dump/de.po src/bin/pg_dump/nls.mk src/bin/pg_dump/pg_backup.h src/bin/pg_dump/pg_backup_archiver.c src/bin/pg_dump/pg_backup_archiver.h src/bin/pg_dump/pg_backup_custom.c src/bin/pg_dump/pg_backup_db.c src/bin/pg_dump/pg_backup_db.h src/bin/pg_dump/pg_backup_files.c src/bin/pg_dump/pg_backup_null.c src/bin/pg_dump/pg_backup_tar.c src/bin/pg_dump/pg_backup_tar.h src/bin/pg_dump/pg_dump.c src/bin/pg_dump/pg_dump.h src/bin/pg_dump/pg_dumpall.sh src/bin/pg_dump/pg_restore.c src/bin/pg_dump/ru.po src/bin/pg_dump/sv.po src/bin/pg_dump/zh_CN.po src/bin/pg_dump/zh_TW.po src/bin/pg_encoding/Makefile src/bin/pg_encoding/pg_encoding.c src/bin/pg_id/Makefile src/bin/pg_id/pg_id.c src/bin/pgaccess/Makefile src/bin/pgaccess/README src/bin/pgaccess/copyright.html src/bin/pgaccess/demo/formdemo.sql src/bin/pgaccess/doc/html/a_right.gif src/bin/pgaccess/doc/html/addindex.gif src/bin/pgaccess/doc/html/api.html src/bin/pgaccess/doc/html/ball.gif src/bin/pgaccess/doc/html/contents.html src/bin/pgaccess/doc/html/copyright.html src/bin/pgaccess/doc/html/documentation.html src/bin/pgaccess/doc/html/download.html src/bin/pgaccess/doc/html/faq.html src/bin/pgaccess/doc/html/features.html src/bin/pgaccess/doc/html/formdemo.sql src/bin/pgaccess/doc/html/forms.gif src/bin/pgaccess/doc/html/forms.html src/bin/pgaccess/doc/html/function.gif src/bin/pgaccess/doc/html/help.gif src/bin/pgaccess/doc/html/index.html src/bin/pgaccess/doc/html/irix.html src/bin/pgaccess/doc/html/linux1.gif src/bin/pgaccess/doc/html/maillist.html src/bin/pgaccess/doc/html/main.html src/bin/pgaccess/doc/html/mainwindow.gif src/bin/pgaccess/doc/html/newtable.gif src/bin/pgaccess/doc/html/newuser.gif src/bin/pgaccess/doc/html/old_index.html src/bin/pgaccess/doc/html/permissions.gif src/bin/pgaccess/doc/html/pg93patch.html src/bin/pgaccess/doc/html/pga-rad.html src/bin/pgaccess/doc/html/qbtclet.html src/bin/pgaccess/doc/html/qbtclet.tcl src/bin/pgaccess/doc/html/screenshots.html src/bin/pgaccess/doc/html/specialchars.html src/bin/pgaccess/doc/html/todo.html src/bin/pgaccess/doc/html/tutorial/addref.jpg src/bin/pgaccess/doc/html/tutorial/altern_q.jpg src/bin/pgaccess/doc/html/tutorial/altern_v.jpg src/bin/pgaccess/doc/html/tutorial/copyright.html src/bin/pgaccess/doc/html/tutorial/index.html src/bin/pgaccess/doc/html/tutorial/intro.html src/bin/pgaccess/doc/html/tutorial/irix.html src/bin/pgaccess/doc/html/tutorial/newref.txt src/bin/pgaccess/doc/html/tutorial/newtable.jpg src/bin/pgaccess/doc/html/tutorial/newtable.tga src/bin/pgaccess/doc/html/tutorial/problems.html src/bin/pgaccess/doc/html/tutorial/screen1.jpg src/bin/pgaccess/doc/html/tutorial/sel_tbl.jpg src/bin/pgaccess/doc/html/tutorial/start.html src/bin/pgaccess/doc/html/tutorial/tut.html src/bin/pgaccess/doc/html/tutorial/tut_edit.html src/bin/pgaccess/doc/html/tutorial/tut_new.html src/bin/pgaccess/doc/html/tutorial/tut_sel1.html src/bin/pgaccess/doc/html/tutorial/tut_user.html src/bin/pgaccess/doc/html/vdesigner.gif src/bin/pgaccess/doc/html/whatsnew.html src/bin/pgaccess/doc/html/win32.html src/bin/pgaccess/images/icon_button.gif src/bin/pgaccess/images/icon_checkbutton.gif src/bin/pgaccess/images/icon_entry.gif src/bin/pgaccess/images/icon_frame.gif src/bin/pgaccess/images/icon_label.gif src/bin/pgaccess/images/icon_listbox.gif src/bin/pgaccess/images/icon_query.gif src/bin/pgaccess/images/icon_radiobutton.gif src/bin/pgaccess/images/icon_text.gif src/bin/pgaccess/lib/database.tcl src/bin/pgaccess/lib/forms.tcl src/bin/pgaccess/lib/functions.tcl src/bin/pgaccess/lib/help/abort.hlp src/bin/pgaccess/lib/help/add_records.hlp src/bin/pgaccess/lib/help/alter_table.hlp src/bin/pgaccess/lib/help/alter_user.hlp src/bin/pgaccess/lib/help/author.hlp src/bin/pgaccess/lib/help/begin.hlp src/bin/pgaccess/lib/help/close.hlp src/bin/pgaccess/lib/help/cluster.hlp src/bin/pgaccess/lib/help/commit.hlp src/bin/pgaccess/lib/help/copy.hlp src/bin/pgaccess/lib/help/copyrights.hlp src/bin/pgaccess/lib/help/create_aggregate.hlp src/bin/pgaccess/lib/help/create_database.hlp src/bin/pgaccess/lib/help/create_function.hlp src/bin/pgaccess/lib/help/create_index.hlp src/bin/pgaccess/lib/help/create_language.hlp src/bin/pgaccess/lib/help/create_operator.hlp src/bin/pgaccess/lib/help/create_rule.hlp src/bin/pgaccess/lib/help/create_sequence.hlp src/bin/pgaccess/lib/help/create_table.hlp src/bin/pgaccess/lib/help/create_table_as.hlp src/bin/pgaccess/lib/help/create_trigger.hlp src/bin/pgaccess/lib/help/create_type.hlp src/bin/pgaccess/lib/help/create_user.hlp src/bin/pgaccess/lib/help/create_view.hlp src/bin/pgaccess/lib/help/data_types.hlp src/bin/pgaccess/lib/help/datefunc.hlp src/bin/pgaccess/lib/help/declare.hlp src/bin/pgaccess/lib/help/delete.hlp src/bin/pgaccess/lib/help/drop_aggregate.hlp src/bin/pgaccess/lib/help/drop_database.hlp src/bin/pgaccess/lib/help/drop_function.hlp src/bin/pgaccess/lib/help/drop_index.hlp src/bin/pgaccess/lib/help/drop_language.hlp src/bin/pgaccess/lib/help/drop_operator.hlp src/bin/pgaccess/lib/help/drop_rule.hlp src/bin/pgaccess/lib/help/drop_sequence.hlp src/bin/pgaccess/lib/help/drop_table.hlp src/bin/pgaccess/lib/help/drop_trigger.hlp src/bin/pgaccess/lib/help/drop_type.hlp src/bin/pgaccess/lib/help/drop_user.hlp src/bin/pgaccess/lib/help/drop_view.hlp src/bin/pgaccess/lib/help/explain.hlp src/bin/pgaccess/lib/help/fetch.hlp src/bin/pgaccess/lib/help/form_design.hlp src/bin/pgaccess/lib/help/forms.hlp src/bin/pgaccess/lib/help/functions.hlp src/bin/pgaccess/lib/help/geomfunc.hlp src/bin/pgaccess/lib/help/grant.hlp src/bin/pgaccess/lib/help/history.hlp src/bin/pgaccess/lib/help/index.hlp src/bin/pgaccess/lib/help/inheritance.hlp src/bin/pgaccess/lib/help/insert.hlp src/bin/pgaccess/lib/help/ipv4func.hlp src/bin/pgaccess/lib/help/isolation.hlp src/bin/pgaccess/lib/help/keywords.hlp src/bin/pgaccess/lib/help/listen.hlp src/bin/pgaccess/lib/help/load.hlp src/bin/pgaccess/lib/help/lock.hlp src/bin/pgaccess/lib/help/mathfunc.hlp src/bin/pgaccess/lib/help/move.hlp src/bin/pgaccess/lib/help/mvcc.hlp src/bin/pgaccess/lib/help/new_query.hlp src/bin/pgaccess/lib/help/new_table.hlp src/bin/pgaccess/lib/help/notify.hlp src/bin/pgaccess/lib/help/open_query.hlp src/bin/pgaccess/lib/help/open_table.hlp src/bin/pgaccess/lib/help/pgfunctions.hlp src/bin/pgaccess/lib/help/postgresql.hlp src/bin/pgaccess/lib/help/queries.hlp src/bin/pgaccess/lib/help/reports.hlp src/bin/pgaccess/lib/help/reset.hlp src/bin/pgaccess/lib/help/revoke.hlp src/bin/pgaccess/lib/help/rollback.hlp src/bin/pgaccess/lib/help/schema.hlp src/bin/pgaccess/lib/help/scripts.hlp src/bin/pgaccess/lib/help/select.hlp src/bin/pgaccess/lib/help/select_into.hlp src/bin/pgaccess/lib/help/sequences.hlp src/bin/pgaccess/lib/help/set.hlp src/bin/pgaccess/lib/help/show.hlp src/bin/pgaccess/lib/help/sql_guide.hlp src/bin/pgaccess/lib/help/sqlfunc.hlp src/bin/pgaccess/lib/help/stringfunc.hlp src/bin/pgaccess/lib/help/tables.hlp src/bin/pgaccess/lib/help/unlisten.hlp src/bin/pgaccess/lib/help/update.hlp src/bin/pgaccess/lib/help/users.hlp src/bin/pgaccess/lib/help/vacuum.hlp src/bin/pgaccess/lib/help/view_table_structure.hlp src/bin/pgaccess/lib/help/views.hlp src/bin/pgaccess/lib/help/visual_designer.hlp src/bin/pgaccess/lib/help/y2k.hlp src/bin/pgaccess/lib/help.tcl src/bin/pgaccess/lib/languages/chinese_big5 src/bin/pgaccess/lib/languages/chinese_gb src/bin/pgaccess/lib/languages/czech src/bin/pgaccess/lib/languages/deutsch src/bin/pgaccess/lib/languages/euskara src/bin/pgaccess/lib/languages/francais src/bin/pgaccess/lib/languages/italiano src/bin/pgaccess/lib/languages/japanese src/bin/pgaccess/lib/languages/magyar src/bin/pgaccess/lib/languages/nederlands src/bin/pgaccess/lib/languages/portugues src/bin/pgaccess/lib/languages/romana src/bin/pgaccess/lib/languages/russian.koi8r src/bin/pgaccess/lib/languages/russian_win src/bin/pgaccess/lib/languages/spanish src/bin/pgaccess/lib/mainlib.tcl src/bin/pgaccess/lib/preferences.tcl src/bin/pgaccess/lib/queries.tcl src/bin/pgaccess/lib/reports.tcl src/bin/pgaccess/lib/schema.tcl src/bin/pgaccess/lib/scripts.tcl src/bin/pgaccess/lib/sequences.tcl src/bin/pgaccess/lib/tables.tcl src/bin/pgaccess/lib/users.tcl src/bin/pgaccess/lib/views.tcl src/bin/pgaccess/lib/visualqb.tcl src/bin/pgaccess/main.tcl src/bin/pgaccess/pgaccess.sh src/bin/pgtclsh/Makefile src/bin/pgtclsh/README src/bin/pgtclsh/pgtclAppInit.c src/bin/pgtclsh/pgtclUtils.tcl src/bin/pgtclsh/pgtkAppInit.c src/bin/pgtclsh/updateStats.tcl src/bin/psql/.cvsignore src/bin/psql/Makefile src/bin/psql/command.c src/bin/psql/command.h src/bin/psql/common.c src/bin/psql/common.h src/bin/psql/copy.c src/bin/psql/copy.h src/bin/psql/create_help.pl src/bin/psql/cs.po src/bin/psql/de.po src/bin/psql/describe.c src/bin/psql/describe.h src/bin/psql/fr.po src/bin/psql/help.c src/bin/psql/help.h src/bin/psql/input.c src/bin/psql/input.h src/bin/psql/large_obj.c src/bin/psql/large_obj.h src/bin/psql/mainloop.c src/bin/psql/mainloop.h src/bin/psql/mbprint.c src/bin/psql/mbprint.h src/bin/psql/nls.mk src/bin/psql/print.c src/bin/psql/print.h src/bin/psql/prompt.c src/bin/psql/prompt.h src/bin/psql/ru.po src/bin/psql/settings.h src/bin/psql/startup.c src/bin/psql/stringutils.c src/bin/psql/stringutils.h src/bin/psql/sv.po src/bin/psql/tab-complete.c src/bin/psql/tab-complete.h src/bin/psql/variables.c src/bin/psql/variables.h src/bin/psql/win32.mak src/bin/psql/zh_CN.po src/bin/psql/zh_TW.po src/bin/scripts/Makefile src/bin/scripts/createdb src/bin/scripts/createlang.sh src/bin/scripts/createuser src/bin/scripts/dropdb src/bin/scripts/droplang src/bin/scripts/dropuser src/bin/scripts/vacuumdb src/corba/CosQuery.idl src/corba/CosQueryCollection.idl src/corba/pgsql.idl src/corba/pgsql_int.idl src/corba/server.cc src/data/charset.conf src/data/isocz-wincz.tab src/data/koi-alt.tab src/data/koi-iso.tab src/data/koi-koi.tab src/data/koi-mac.tab src/data/koi-win.tab src/include/Makefile src/include/access/attnum.h src/include/access/clog.h src/include/access/genam.h src/include/access/gist.h src/include/access/gistscan.h src/include/access/hash.h src/include/access/heapam.h src/include/access/hio.h src/include/access/htup.h src/include/access/ibit.h src/include/access/iqual.h src/include/access/istrat.h src/include/access/itup.h src/include/access/nbtree.h src/include/access/printtup.h src/include/access/relscan.h src/include/access/rmgr.h src/include/access/rtree.h src/include/access/rtscan.h src/include/access/sdir.h src/include/access/skey.h src/include/access/strat.h src/include/access/transam.h src/include/access/tupdesc.h src/include/access/tupmacs.h src/include/access/tuptoaster.h src/include/access/valid.h src/include/access/xact.h src/include/access/xlog.h src/include/access/xlogdefs.h src/include/access/xlogutils.h src/include/bootstrap/bootstrap.h src/include/c.h src/include/catalog/catalog.h src/include/catalog/catname.h src/include/catalog/catversion.h src/include/catalog/duplicate_oids src/include/catalog/heap.h src/include/catalog/index.h src/include/catalog/indexing.h src/include/catalog/namespace.h src/include/catalog/pg_aggregate.h src/include/catalog/pg_am.h src/include/catalog/pg_amop.h src/include/catalog/pg_amproc.h src/include/catalog/pg_attrdef.h src/include/catalog/pg_attribute.h src/include/catalog/pg_class.h src/include/catalog/pg_control.h src/include/catalog/pg_database.h src/include/catalog/pg_description.h src/include/catalog/pg_group.h src/include/catalog/pg_index.h src/include/catalog/pg_inherits.h src/include/catalog/pg_language.h src/include/catalog/pg_largeobject.h src/include/catalog/pg_listener.h src/include/catalog/pg_namespace.h src/include/catalog/pg_opclass.h src/include/catalog/pg_operator.h src/include/catalog/pg_proc.h src/include/catalog/pg_relcheck.h src/include/catalog/pg_rewrite.h src/include/catalog/pg_shadow.h src/include/catalog/pg_statistic.h src/include/catalog/pg_trigger.h src/include/catalog/pg_type.h src/include/catalog/pg_version.h src/include/catalog/unused_oids src/include/commands/async.h src/include/commands/cluster.h src/include/commands/comment.h src/include/commands/copy.h src/include/commands/dbcommands.h src/include/commands/defrem.h src/include/commands/explain.h src/include/commands/lockcmds.h src/include/commands/portalcmds.h src/include/commands/proclang.h src/include/commands/schemacmds.h src/include/commands/sequence.h src/include/commands/tablecmds.h src/include/commands/trigger.h src/include/commands/user.h src/include/commands/vacuum.h src/include/commands/variable.h src/include/commands/version.h src/include/commands/view.h src/include/executor/execdebug.h src/include/executor/execdefs.h src/include/executor/execdesc.h src/include/executor/executor.h src/include/executor/functions.h src/include/executor/hashjoin.h src/include/executor/instrument.h src/include/executor/nodeAgg.h src/include/executor/nodeAppend.h src/include/executor/nodeFunctionscan.h src/include/executor/nodeGroup.h src/include/executor/nodeHash.h src/include/executor/nodeHashjoin.h src/include/executor/nodeIndexscan.h src/include/executor/nodeLimit.h src/include/executor/nodeMaterial.h src/include/executor/nodeMergejoin.h src/include/executor/nodeNestloop.h src/include/executor/nodeResult.h src/include/executor/nodeSeqscan.h src/include/executor/nodeSetOp.h src/include/executor/nodeSort.h src/include/executor/nodeSubplan.h src/include/executor/nodeSubqueryscan.h src/include/executor/nodeTidscan.h src/include/executor/nodeUnique.h src/include/executor/spi.h src/include/executor/spi_priv.h src/include/executor/tuptable.h src/include/fmgr.h src/include/lib/dllist.h src/include/lib/lispsort.h src/include/lib/stringinfo.h src/include/libpq/auth.h src/include/libpq/be-fsstubs.h src/include/libpq/crypt.h src/include/libpq/hba.h src/include/libpq/libpq-be.h src/include/libpq/libpq-fs.h src/include/libpq/libpq.h src/include/libpq/password.h src/include/libpq/pqcomm.h src/include/libpq/pqformat.h src/include/libpq/pqsignal.h src/include/mb/pg_wchar.h src/include/miscadmin.h src/include/nodes/execnodes.h src/include/nodes/makefuncs.h src/include/nodes/memnodes.h src/include/nodes/nodeFuncs.h src/include/nodes/nodes.h src/include/nodes/params.h src/include/nodes/parsenodes.h src/include/nodes/pg_list.h src/include/nodes/plannodes.h src/include/nodes/primnodes.h src/include/nodes/print.h src/include/nodes/readfuncs.h src/include/nodes/relation.h src/include/optimizer/_deadcode/xfunc.h src/include/optimizer/clauses.h src/include/optimizer/cost.h src/include/optimizer/geqo.h src/include/optimizer/geqo_copy.h src/include/optimizer/geqo_gene.h src/include/optimizer/geqo_misc.h src/include/optimizer/geqo_mutation.h src/include/optimizer/geqo_pool.h src/include/optimizer/geqo_random.h src/include/optimizer/geqo_recombination.h src/include/optimizer/geqo_selection.h src/include/optimizer/joininfo.h src/include/optimizer/pathnode.h src/include/optimizer/paths.h src/include/optimizer/plancat.h src/include/optimizer/planmain.h src/include/optimizer/planner.h src/include/optimizer/prep.h src/include/optimizer/restrictinfo.h src/include/optimizer/subselect.h src/include/optimizer/tlist.h src/include/optimizer/var.h src/include/parser/analyze.h src/include/parser/gramparse.h src/include/parser/keywords.h src/include/parser/parse_agg.h src/include/parser/parse_clause.h src/include/parser/parse_coerce.h src/include/parser/parse_expr.h src/include/parser/parse_func.h src/include/parser/parse_node.h src/include/parser/parse_oper.h src/include/parser/parse_relation.h src/include/parser/parse_target.h src/include/parser/parse_type.h src/include/parser/parser.h src/include/parser/parsetree.h src/include/parser/scansup.h src/include/pg_config.h.in src/include/pg_config.h.win32 src/include/pgstat.h src/include/port/aix.h src/include/port/beos.h src/include/port/bsdi.h src/include/port/darwin.h src/include/port/dgux.h src/include/port/freebsd.h src/include/port/hpux.h src/include/port/irix5.h src/include/port/linux.h src/include/port/netbsd.h src/include/port/nextstep.h src/include/port/openbsd.h src/include/port/osf.h src/include/port/qnx4.h src/include/port/sco.h src/include/port/solaris.h src/include/port/sunos4.h src/include/port/svr4.h src/include/port/ultrix4.h src/include/port/univel.h src/include/port/unixware.h src/include/port/win.h src/include/port/win32.h src/include/postgres.h src/include/postgres_ext.h src/include/postgres_fe.h src/include/regex/cclass.h src/include/regex/cname.h src/include/regex/regex.h src/include/regex/regex2.h src/include/regex/utils.h src/include/rewrite/prs2lock.h src/include/rewrite/rewriteDefine.h src/include/rewrite/rewriteHandler.h src/include/rewrite/rewriteManip.h src/include/rewrite/rewriteRemove.h src/include/rewrite/rewriteSupport.h src/include/rusagestub.h src/include/storage/backendid.h src/include/storage/block.h src/include/storage/buf.h src/include/storage/buf_internals.h src/include/storage/buffile.h src/include/storage/bufmgr.h src/include/storage/bufpage.h src/include/storage/fd.h src/include/storage/freespace.h src/include/storage/ipc.h src/include/storage/item.h src/include/storage/itemid.h src/include/storage/itempos.h src/include/storage/itemptr.h src/include/storage/large_object.h src/include/storage/lmgr.h src/include/storage/lock.h src/include/storage/lwlock.h src/include/storage/off.h src/include/storage/page.h src/include/storage/pg_sema.h src/include/storage/pg_shmem.h src/include/storage/pmsignal.h src/include/storage/pos.h src/include/storage/proc.h src/include/storage/relfilenode.h src/include/storage/s_lock.h src/include/storage/shmem.h src/include/storage/sinval.h src/include/storage/sinvaladt.h src/include/storage/smgr.h src/include/storage/spin.h src/include/strdup.h src/include/tcop/dest.h src/include/tcop/fastpath.h src/include/tcop/pquery.h src/include/tcop/tcopdebug.h src/include/tcop/tcopprot.h src/include/tcop/utility.h src/include/utils/acl.h src/include/utils/array.h src/include/utils/ascii.h src/include/utils/bit.h src/include/utils/builtins.h src/include/utils/cash.h src/include/utils/catcache.h src/include/utils/date.h src/include/utils/datetime.h src/include/utils/datum.h src/include/utils/dynahash.h src/include/utils/dynamic_loader.h src/include/utils/elog.h src/include/utils/exc.h src/include/utils/excid.h src/include/utils/fcache.h src/include/utils/fmgrtab.h src/include/utils/formatting.h src/include/utils/geo_decls.h src/include/utils/guc.h src/include/utils/hsearch.h src/include/utils/inet.h src/include/utils/int8.h src/include/utils/inval.h src/include/utils/logtape.h src/include/utils/lsyscache.h src/include/utils/memutils.h src/include/utils/nabstime.h src/include/utils/numeric.h src/include/utils/palloc.h src/include/utils/pg_crc.h src/include/utils/pg_locale.h src/include/utils/pg_lzcompress.h src/include/utils/portal.h src/include/utils/ps_status.h src/include/utils/rel.h src/include/utils/relcache.h src/include/utils/selfuncs.h src/include/utils/sets.h src/include/utils/syscache.h src/include/utils/timestamp.h src/include/utils/tqual.h src/include/utils/tuplesort.h src/include/utils/tuplestore.h src/include/utils/varbit.h src/interfaces/Makefile src/interfaces/cli/example1.c src/interfaces/cli/example2.c src/interfaces/cli/sqlcli.h src/interfaces/jdbc/CHANGELOG src/interfaces/jdbc/Implementation src/interfaces/jdbc/Makefile src/interfaces/jdbc/README src/interfaces/jdbc/build.xml src/interfaces/jdbc/example/ImageViewer.java src/interfaces/jdbc/example/Unicode.java src/interfaces/jdbc/example/basic.java src/interfaces/jdbc/example/blobtest.java src/interfaces/jdbc/example/corba/StockClient.java src/interfaces/jdbc/example/corba/StockDB.java src/interfaces/jdbc/example/corba/StockDispenserImpl.java src/interfaces/jdbc/example/corba/StockItemImpl.java src/interfaces/jdbc/example/corba/StockServer.java src/interfaces/jdbc/example/corba/readme src/interfaces/jdbc/example/corba/stock.idl src/interfaces/jdbc/example/corba/stock.sql src/interfaces/jdbc/example/datestyle.java src/interfaces/jdbc/example/metadata.java src/interfaces/jdbc/example/psql.java src/interfaces/jdbc/example/threadsafe.java src/interfaces/jdbc/jdbc.jpx src/interfaces/jdbc/org/postgresql/Connection.java src/interfaces/jdbc/org/postgresql/Driver.java.in src/interfaces/jdbc/org/postgresql/Field.java src/interfaces/jdbc/org/postgresql/PG_Stream.java src/interfaces/jdbc/org/postgresql/PostgresqlDataSource.java src/interfaces/jdbc/org/postgresql/ResultSet.java src/interfaces/jdbc/org/postgresql/Statement.java src/interfaces/jdbc/org/postgresql/core/BytePoolDim1.java src/interfaces/jdbc/org/postgresql/core/BytePoolDim2.java src/interfaces/jdbc/org/postgresql/core/Encoding.java src/interfaces/jdbc/org/postgresql/core/MemoryPool.java src/interfaces/jdbc/org/postgresql/core/ObjectPool.java src/interfaces/jdbc/org/postgresql/core/QueryExecutor.java src/interfaces/jdbc/org/postgresql/core/SimpleObjectPool.java src/interfaces/jdbc/org/postgresql/core/StartupPacket.java src/interfaces/jdbc/org/postgresql/errors.properties src/interfaces/jdbc/org/postgresql/errors_de.properties src/interfaces/jdbc/org/postgresql/errors_fr.properties src/interfaces/jdbc/org/postgresql/errors_it.properties src/interfaces/jdbc/org/postgresql/errors_nl.properties src/interfaces/jdbc/org/postgresql/errors_zh_TW.properties src/interfaces/jdbc/org/postgresql/fastpath/Fastpath.java src/interfaces/jdbc/org/postgresql/fastpath/FastpathArg.java src/interfaces/jdbc/org/postgresql/geometric/PGbox.java src/interfaces/jdbc/org/postgresql/geometric/PGcircle.java src/interfaces/jdbc/org/postgresql/geometric/PGline.java src/interfaces/jdbc/org/postgresql/geometric/PGlseg.java src/interfaces/jdbc/org/postgresql/geometric/PGpath.java src/interfaces/jdbc/org/postgresql/geometric/PGpoint.java src/interfaces/jdbc/org/postgresql/geometric/PGpolygon.java src/interfaces/jdbc/org/postgresql/jdbc1/CallableStatement.java src/interfaces/jdbc/org/postgresql/jdbc1/Connection.java src/interfaces/jdbc/org/postgresql/jdbc1/DatabaseMetaData.java src/interfaces/jdbc/org/postgresql/jdbc1/PreparedStatement.java src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java src/interfaces/jdbc/org/postgresql/jdbc1/ResultSetMetaData.java src/interfaces/jdbc/org/postgresql/jdbc1/Statement.java src/interfaces/jdbc/org/postgresql/jdbc2/Array.java src/interfaces/jdbc/org/postgresql/jdbc2/CallableStatement.java src/interfaces/jdbc/org/postgresql/jdbc2/Connection.java src/interfaces/jdbc/org/postgresql/jdbc2/DatabaseMetaData.java src/interfaces/jdbc/org/postgresql/jdbc2/PBatchUpdateException.java src/interfaces/jdbc/org/postgresql/jdbc2/PreparedStatement.java src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetMetaData.java src/interfaces/jdbc/org/postgresql/jdbc2/Statement.java src/interfaces/jdbc/org/postgresql/jdbc2/UpdateableResultSet.java src/interfaces/jdbc/org/postgresql/largeobject/BlobInputStream.java src/interfaces/jdbc/org/postgresql/largeobject/BlobOutputStream.java src/interfaces/jdbc/org/postgresql/largeobject/LargeObject.java src/interfaces/jdbc/org/postgresql/largeobject/LargeObjectManager.java src/interfaces/jdbc/org/postgresql/largeobject/PGblob.java src/interfaces/jdbc/org/postgresql/largeobject/PGclob.java src/interfaces/jdbc/org/postgresql/test/JDBC2Tests.java src/interfaces/jdbc/org/postgresql/test/README src/interfaces/jdbc/org/postgresql/test/jdbc2/ANTTest.java src/interfaces/jdbc/org/postgresql/test/jdbc2/BatchExecuteTest.java src/interfaces/jdbc/org/postgresql/test/jdbc2/BlobTest.java src/interfaces/jdbc/org/postgresql/test/jdbc2/ConnectionTest.java src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java src/interfaces/jdbc/org/postgresql/test/jdbc2/DateTest.java src/interfaces/jdbc/org/postgresql/test/jdbc2/DriverTest.java src/interfaces/jdbc/org/postgresql/test/jdbc2/EncodingTest.java src/interfaces/jdbc/org/postgresql/test/jdbc2/JBuilderTest.java src/interfaces/jdbc/org/postgresql/test/jdbc2/MiscTest.java src/interfaces/jdbc/org/postgresql/test/jdbc2/ResultSetTest.java src/interfaces/jdbc/org/postgresql/test/jdbc2/TimeTest.java src/interfaces/jdbc/org/postgresql/test/jdbc2/TimestampTest.java src/interfaces/jdbc/org/postgresql/test/jdbc2/UpdateableResultTest.java src/interfaces/jdbc/org/postgresql/util/MD5Digest.java src/interfaces/jdbc/org/postgresql/util/MessageTranslator.java src/interfaces/jdbc/org/postgresql/util/PGbytea.java src/interfaces/jdbc/org/postgresql/util/PGmoney.java src/interfaces/jdbc/org/postgresql/util/PGobject.java src/interfaces/jdbc/org/postgresql/util/PGtokenizer.java src/interfaces/jdbc/org/postgresql/util/PSQLException.java src/interfaces/jdbc/org/postgresql/util/Serialize.java src/interfaces/jdbc/org/postgresql/util/UnixCrypt.java src/interfaces/jdbc/org/postgresql/xa/ClientConnection.java src/interfaces/jdbc/org/postgresql/xa/TwoPhaseConnection.java src/interfaces/jdbc/org/postgresql/xa/TxConnection.java src/interfaces/jdbc/org/postgresql/xa/XAConnectionImpl.java src/interfaces/jdbc/org/postgresql/xa/XADataSourceImpl.java src/interfaces/jdbc/utils/CheckVersion.java src/interfaces/jdbc/utils/buildDriver src/interfaces/jdbc/utils/changelog.pl src/interfaces/libpgeasy/Makefile src/interfaces/libpgeasy/README src/interfaces/libpgeasy/examples/Makefile src/interfaces/libpgeasy/examples/pginsert.c src/interfaces/libpgeasy/examples/pgmultiresult.c src/interfaces/libpgeasy/examples/pgnulltest.c src/interfaces/libpgeasy/examples/pgwordcount.c src/interfaces/libpgeasy/halt.c src/interfaces/libpgeasy/halt.h src/interfaces/libpgeasy/libpgeasy.c src/interfaces/libpgeasy/libpgeasy.h src/interfaces/libpgtcl/Makefile src/interfaces/libpgtcl/README src/interfaces/libpgtcl/libpgtcl.def src/interfaces/libpgtcl/libpgtcl.h src/interfaces/libpgtcl/pgtcl.c src/interfaces/libpgtcl/pgtclCmds.c src/interfaces/libpgtcl/pgtclCmds.h src/interfaces/libpgtcl/pgtclId.c src/interfaces/libpgtcl/pgtclId.h src/interfaces/libpgtcl/win32.mak src/interfaces/libpq/Makefile src/interfaces/libpq/README src/interfaces/libpq/cs.po src/interfaces/libpq/de.po src/interfaces/libpq/fe-auth.c src/interfaces/libpq/fe-auth.h src/interfaces/libpq/fe-connect.c src/interfaces/libpq/fe-exec.c src/interfaces/libpq/fe-lobj.c src/interfaces/libpq/fe-misc.c src/interfaces/libpq/fe-print.c src/interfaces/libpq/fe-secure.c src/interfaces/libpq/fr.po src/interfaces/libpq/libpq-fe.h src/interfaces/libpq/libpq-int.h src/interfaces/libpq/libpq.rc src/interfaces/libpq/libpqdll.c src/interfaces/libpq/libpqdll.def src/interfaces/libpq/nls.mk src/interfaces/libpq/pqexpbuffer.c src/interfaces/libpq/pqexpbuffer.h src/interfaces/libpq/pqsignal.c src/interfaces/libpq/pqsignal.h src/interfaces/libpq/ru.po src/interfaces/libpq/sv.po src/interfaces/libpq/win32.c src/interfaces/libpq/win32.h src/interfaces/libpq/win32.mak src/interfaces/libpq/zh_CN.po src/interfaces/libpq/zh_TW.po src/interfaces/libpq++/CHANGES src/interfaces/libpq++/Makefile src/interfaces/libpq++/README src/interfaces/libpq++/TODO src/interfaces/libpq++/examples/Makefile src/interfaces/libpq++/examples/testlibpq0.cc src/interfaces/libpq++/examples/testlibpq1.cc src/interfaces/libpq++/examples/testlibpq2.cc src/interfaces/libpq++/examples/testlibpq2.sql src/interfaces/libpq++/examples/testlibpq3.cc src/interfaces/libpq++/examples/testlibpq3.sql src/interfaces/libpq++/examples/testlibpq4.cc src/interfaces/libpq++/examples/testlibpq4.sql src/interfaces/libpq++/examples/testlibpq5.cc src/interfaces/libpq++/examples/testlibpq5.sql src/interfaces/libpq++/examples/testlibpq6.cc src/interfaces/libpq++/examples/testlo.cc src/interfaces/libpq++/libpq++.h src/interfaces/libpq++/libpq++dll.rc src/interfaces/libpq++/pgconnection.cc src/interfaces/libpq++/pgconnection.h src/interfaces/libpq++/pgcursordb.cc src/interfaces/libpq++/pgcursordb.h src/interfaces/libpq++/pgdatabase.cc src/interfaces/libpq++/pgdatabase.h src/interfaces/libpq++/pglobject.cc src/interfaces/libpq++/pglobject.h src/interfaces/libpq++/pgtransdb.cc src/interfaces/libpq++/pgtransdb.h src/interfaces/libpq++/win32.mak src/interfaces/odbc/GNUmakefile src/interfaces/odbc/bind.c src/interfaces/odbc/bind.h src/interfaces/odbc/columninfo.c src/interfaces/odbc/columninfo.h src/interfaces/odbc/connection.c src/interfaces/odbc/connection.h src/interfaces/odbc/convert.c src/interfaces/odbc/convert.h src/interfaces/odbc/descriptor.h src/interfaces/odbc/dlg_specific.c src/interfaces/odbc/dlg_specific.h src/interfaces/odbc/dlg_wingui.c src/interfaces/odbc/drvconn.c src/interfaces/odbc/environ.c src/interfaces/odbc/environ.h src/interfaces/odbc/execute.c src/interfaces/odbc/gpps.c src/interfaces/odbc/gpps.h src/interfaces/odbc/info.c src/interfaces/odbc/info30.c src/interfaces/odbc/iodbc.h src/interfaces/odbc/isql.h src/interfaces/odbc/isqlext.h src/interfaces/odbc/license.txt src/interfaces/odbc/lobj.c src/interfaces/odbc/lobj.h src/interfaces/odbc/md5.c src/interfaces/odbc/md5.h src/interfaces/odbc/misc.c src/interfaces/odbc/misc.h src/interfaces/odbc/multibyte.c src/interfaces/odbc/multibyte.h src/interfaces/odbc/notice.txt src/interfaces/odbc/odbc.sql src/interfaces/odbc/odbcapi.c src/interfaces/odbc/odbcapi25w.c src/interfaces/odbc/odbcapi30.c src/interfaces/odbc/odbcapi30w.c src/interfaces/odbc/odbcapiw.c src/interfaces/odbc/odbcinst.ini src/interfaces/odbc/options.c src/interfaces/odbc/parse.c src/interfaces/odbc/pgapi30.c src/interfaces/odbc/pgapifunc.h src/interfaces/odbc/pgtypes.c src/interfaces/odbc/pgtypes.h src/interfaces/odbc/psqlodbc.c src/interfaces/odbc/psqlodbc.h src/interfaces/odbc/psqlodbc.rc src/interfaces/odbc/psqlodbc.reg src/interfaces/odbc/psqlodbc30.reg src/interfaces/odbc/psqlodbc30w.reg src/interfaces/odbc/psqlodbc_api30.def src/interfaces/odbc/psqlodbc_api30w.def src/interfaces/odbc/psqlodbc_apiw.def src/interfaces/odbc/psqlodbc_win32.def src/interfaces/odbc/qresult.c src/interfaces/odbc/qresult.h src/interfaces/odbc/readme.txt src/interfaces/odbc/resource.h src/interfaces/odbc/results.c src/interfaces/odbc/setup.c src/interfaces/odbc/setup.rul src/interfaces/odbc/socket.c src/interfaces/odbc/socket.h src/interfaces/odbc/statement.c src/interfaces/odbc/statement.h src/interfaces/odbc/tuple.c src/interfaces/odbc/tuple.h src/interfaces/odbc/tuplelist.c src/interfaces/odbc/tuplelist.h src/interfaces/odbc/version.h src/interfaces/odbc/win32.mak src/interfaces/odbc/win32_30.mak src/interfaces/odbc/win32_30w.mak src/interfaces/odbc/win32w.mak src/interfaces/odbc/win_md5.c src/interfaces/odbc/win_setup.h src/interfaces/odbc/win_unicode.c src/interfaces/perl5/Changes src/interfaces/perl5/GNUmakefile src/interfaces/perl5/MANIFEST src/interfaces/perl5/Makefile.PL src/interfaces/perl5/Pg.pm src/interfaces/perl5/Pg.xs src/interfaces/perl5/README src/interfaces/perl5/examples/ApachePg.pl src/interfaces/perl5/examples/example.newstyle src/interfaces/perl5/examples/example.oldstyle src/interfaces/perl5/ppport.h src/interfaces/perl5/test.pl src/interfaces/perl5/typemap src/interfaces/python/Announce src/interfaces/python/ChangeLog src/interfaces/python/GNUmakefile src/interfaces/python/PyGreSQL.spec src/interfaces/python/README src/interfaces/python/README.linux src/interfaces/python/Setup.in.raw src/interfaces/python/pg.py src/interfaces/python/pgdb.py src/interfaces/python/pgmodule.c src/interfaces/python/setup.py src/interfaces/python/tutorial/advanced.py src/interfaces/python/tutorial/basics.py src/interfaces/python/tutorial/func.py src/interfaces/python/tutorial/syscat.py src/interfaces/ssl/client.conf src/interfaces/ssl/mkcert.sh src/interfaces/ssl/pgkeygen.sh src/interfaces/ssl/root.conf src/interfaces/ssl/server.conf src/makefiles/Makefile.aix src/makefiles/Makefile.beos src/makefiles/Makefile.bsdi src/makefiles/Makefile.darwin src/makefiles/Makefile.dgux src/makefiles/Makefile.freebsd src/makefiles/Makefile.hpux src/makefiles/Makefile.irix5 src/makefiles/Makefile.linux src/makefiles/Makefile.netbsd src/makefiles/Makefile.openbsd src/makefiles/Makefile.osf src/makefiles/Makefile.qnx4 src/makefiles/Makefile.sco src/makefiles/Makefile.solaris src/makefiles/Makefile.sunos4 src/makefiles/Makefile.svr4 src/makefiles/Makefile.ultrix4 src/makefiles/Makefile.univel src/makefiles/Makefile.unixware src/makefiles/Makefile.win src/nls-global.mk src/pl/Makefile src/pl/plperl/GNUmakefile src/pl/plperl/README src/pl/plperl/SPI.xs src/pl/plperl/eloglvl.c src/pl/plperl/eloglvl.h src/pl/plperl/plperl.c src/pl/plperl/ppport.h src/pl/plpgsql/Makefile src/pl/plpgsql/src/.cvsignore src/pl/plpgsql/src/INSTALL src/pl/plpgsql/src/Makefile src/pl/plpgsql/src/gram.y src/pl/plpgsql/src/pl_comp.c src/pl/plpgsql/src/pl_exec.c src/pl/plpgsql/src/pl_funcs.c src/pl/plpgsql/src/pl_handler.c src/pl/plpgsql/src/plpgsql.h src/pl/plpgsql/src/scan.l src/pl/plpgsql/test/README src/pl/plpgsql/test/expected/tables.out src/pl/plpgsql/test/expected/test.out src/pl/plpgsql/test/expected/triggers.out src/pl/plpgsql/test/expected/views.out src/pl/plpgsql/test/runtest src/pl/plpgsql/test/tables.sql src/pl/plpgsql/test/test.sql src/pl/plpgsql/test/triggers.sql src/pl/plpgsql/test/views.sql src/pl/plpython/Makefile src/pl/plpython/README src/pl/plpython/TODO src/pl/plpython/error.expected src/pl/plpython/feature.expected src/pl/plpython/plpython.c src/pl/plpython/plpython.h src/pl/plpython/plpython_depopulate.sql src/pl/plpython/plpython_deschema.sql src/pl/plpython/plpython_drop.sql src/pl/plpython/plpython_error.sql src/pl/plpython/plpython_function.sql src/pl/plpython/plpython_populate.sql src/pl/plpython/plpython_schema.sql src/pl/plpython/plpython_setof.sql src/pl/plpython/plpython_test.sql src/pl/plpython/test.sh src/pl/tcl/Makefile src/pl/tcl/license.terms src/pl/tcl/modules/Makefile src/pl/tcl/modules/README src/pl/tcl/modules/pltcl_delmod.in src/pl/tcl/modules/pltcl_listmod.in src/pl/tcl/modules/pltcl_loadmod.in src/pl/tcl/modules/unknown.pltcl src/pl/tcl/pltcl.c src/pl/tcl/test/README src/pl/tcl/test/runtest src/pl/tcl/test/test.expected src/pl/tcl/test/test_queries.sql src/pl/tcl/test/test_setup.sql src/template/aix src/template/beos src/template/bsdi src/template/darwin src/template/dgux src/template/freebsd src/template/hpux src/template/irix5 src/template/linux src/template/netbsd src/template/nextstep src/template/openbsd src/template/osf src/template/qnx4 src/template/sco src/template/solaris src/template/sunos4 src/template/svr4 src/template/ultrix4 src/template/univel src/template/unixware src/template/win src/test/Makefile src/test/bench/Makefile src/test/bench/WISC-README src/test/bench/create.sh src/test/bench/create.source src/test/bench/perquery src/test/bench/query01 src/test/bench/query02 src/test/bench/query03 src/test/bench/query04 src/test/bench/query05 src/test/bench/query06 src/test/bench/query07 src/test/bench/query08 src/test/bench/query09 src/test/bench/query10 src/test/bench/query11 src/test/bench/query12 src/test/bench/query13 src/test/bench/query14 src/test/bench/query15 src/test/bench/query16 src/test/bench/query17 src/test/bench/query18 src/test/bench/query19 src/test/bench/query20 src/test/bench/query21 src/test/bench/query22 src/test/bench/query23 src/test/bench/query24 src/test/bench/query25 src/test/bench/query26 src/test/bench/query27 src/test/bench/query28 src/test/bench/query29 src/test/bench/query30 src/test/bench/query31 src/test/bench/query32 src/test/bench/runwisc.sh src/test/bench/wholebench.sh src/test/examples/Makefile src/test/examples/testlibpq.c src/test/examples/testlibpq2.c src/test/examples/testlibpq2.sql src/test/examples/testlibpq3.c src/test/examples/testlibpq3.sql src/test/examples/testlibpq4.c src/test/examples/testlo.c src/test/locale/Makefile src/test/locale/README src/test/locale/de_DE.ISO8859-1/Makefile src/test/locale/de_DE.ISO8859-1/README src/test/locale/de_DE.ISO8859-1/expected/de-ctype.out src/test/locale/de_DE.ISO8859-1/expected/test-de-char.sql.out src/test/locale/de_DE.ISO8859-1/expected/test-de-select.sql.out src/test/locale/de_DE.ISO8859-1/expected/test-de-sort.out src/test/locale/de_DE.ISO8859-1/expected/test-de-text.sql.out src/test/locale/de_DE.ISO8859-1/expected/test-de-upper-char.sql.out src/test/locale/de_DE.ISO8859-1/expected/test-de-upper-text.sql.out src/test/locale/de_DE.ISO8859-1/expected/test-de-upper-varchar.sql.out src/test/locale/de_DE.ISO8859-1/expected/test-de-varchar.sql.out src/test/locale/de_DE.ISO8859-1/runall src/test/locale/de_DE.ISO8859-1/test-de-select.sql.in src/test/locale/de_DE.ISO8859-1/test-de-sort.in src/test/locale/de_DE.ISO8859-1/test-de-upper.sql.in src/test/locale/de_DE.ISO8859-1/test-de.sql.in src/test/locale/gr_GR.ISO8859-7/Makefile src/test/locale/gr_GR.ISO8859-7/README src/test/locale/gr_GR.ISO8859-7/expected/gr-ctype.out src/test/locale/gr_GR.ISO8859-7/expected/test-gr-char.sql.out src/test/locale/gr_GR.ISO8859-7/expected/test-gr-select.sql.out src/test/locale/gr_GR.ISO8859-7/expected/test-gr-sort.out src/test/locale/gr_GR.ISO8859-7/expected/test-gr-text.sql.out src/test/locale/gr_GR.ISO8859-7/expected/test-gr-varchar.sql.out src/test/locale/gr_GR.ISO8859-7/runall src/test/locale/gr_GR.ISO8859-7/test-gr-select.sql.in src/test/locale/gr_GR.ISO8859-7/test-gr-sort.in src/test/locale/gr_GR.ISO8859-7/test-gr.sql.in src/test/locale/koi8-r/Makefile src/test/locale/koi8-r/expected/koi8-ctype.out src/test/locale/koi8-r/expected/test-koi8-char.sql.out src/test/locale/koi8-r/expected/test-koi8-select.sql.out src/test/locale/koi8-r/expected/test-koi8-sort.out src/test/locale/koi8-r/expected/test-koi8-text.sql.out src/test/locale/koi8-r/expected/test-koi8-varchar.sql.out src/test/locale/koi8-r/runall src/test/locale/koi8-r/test-koi8-select.sql.in src/test/locale/koi8-r/test-koi8-sort.in src/test/locale/koi8-r/test-koi8.sql.in src/test/locale/koi8-to-win1251/Makefile src/test/locale/koi8-to-win1251/README src/test/locale/koi8-to-win1251/expected/test-koi8-char.sql.out src/test/locale/koi8-to-win1251/expected/test-koi8-select.sql.out src/test/locale/koi8-to-win1251/expected/test-koi8-sort.out src/test/locale/koi8-to-win1251/expected/test-koi8-text.sql.out src/test/locale/koi8-to-win1251/expected/test-koi8-varchar.sql.out src/test/locale/koi8-to-win1251/runall src/test/locale/koi8-to-win1251/test-koi8-select.sql.in src/test/locale/koi8-to-win1251/test-koi8-sort.in src/test/locale/koi8-to-win1251/test-koi8.sql.in src/test/locale/sort-test.pl src/test/locale/sort-test.py src/test/locale/test-ctype.c src/test/locale/test-pgsql-locale.c src/test/mb/README src/test/mb/expected/big5.out src/test/mb/expected/euc_cn.out src/test/mb/expected/euc_jp.out src/test/mb/expected/euc_kr.out src/test/mb/expected/euc_tw.out src/test/mb/expected/mule_internal.out src/test/mb/expected/sjis.out src/test/mb/expected/unicode.out src/test/mb/mbregress.sh src/test/mb/sql/big5.sql src/test/mb/sql/euc_cn.sql src/test/mb/sql/euc_jp.sql src/test/mb/sql/euc_kr.sql src/test/mb/sql/euc_tw.sql src/test/mb/sql/mule_internal.sql src/test/mb/sql/sjis.sql src/test/mb/sql/unicode.sql src/test/performance/results/PgSQL.970926 src/test/performance/runtests.pl src/test/performance/sqls/connection src/test/performance/sqls/crtsimple src/test/performance/sqls/crtsimpleidx src/test/performance/sqls/drpsimple src/test/performance/sqls/inssimple src/test/performance/sqls/inssimple.data src/test/performance/sqls/orbsimple src/test/performance/sqls/slcsimple src/test/performance/sqls/slcsimple.data src/test/performance/sqls/vacuum src/test/performance/start-pgsql.sh src/test/regress/GNUmakefile src/test/regress/Makefile src/test/regress/README src/test/regress/data/agg.data src/test/regress/data/constrf.data src/test/regress/data/constro.data src/test/regress/data/dept.data src/test/regress/data/desc.data src/test/regress/data/emp.data src/test/regress/data/hash.data src/test/regress/data/onek.data src/test/regress/data/person.data src/test/regress/data/real_city.data src/test/regress/data/rect.data src/test/regress/data/streets.data src/test/regress/data/stud_emp.data src/test/regress/data/student.data src/test/regress/data/tenk.data src/test/regress/expected/abstime-solaris-1947.out src/test/regress/expected/abstime.out src/test/regress/expected/aggregates.out src/test/regress/expected/alter_table.out src/test/regress/expected/arrays.out src/test/regress/expected/bit.out src/test/regress/expected/boolean.out src/test/regress/expected/box.out src/test/regress/expected/btree_index.out src/test/regress/expected/case.out src/test/regress/expected/char.out src/test/regress/expected/char_1.out src/test/regress/expected/circle.out src/test/regress/expected/comments.out src/test/regress/expected/create_aggregate.out src/test/regress/expected/create_index.out src/test/regress/expected/create_misc.out src/test/regress/expected/create_operator.out src/test/regress/expected/create_table.out src/test/regress/expected/create_type.out src/test/regress/expected/create_view.out src/test/regress/expected/date.out src/test/regress/expected/domain.out src/test/regress/expected/errors.out src/test/regress/expected/euc_cn.out src/test/regress/expected/euc_jp.out src/test/regress/expected/euc_kr.out src/test/regress/expected/euc_tw.out src/test/regress/expected/float4-exp-three-digits.out src/test/regress/expected/float4.out src/test/regress/expected/float8-exp-three-digits.out src/test/regress/expected/float8-fp-exception.out src/test/regress/expected/float8-small-is-zero.out src/test/regress/expected/float8.out src/test/regress/expected/foreign_key.out src/test/regress/expected/geometry-alpha-precision.out src/test/regress/expected/geometry-bsdi-precision.out src/test/regress/expected/geometry-i86-gnulibc.out src/test/regress/expected/geometry-intel-beos.out src/test/regress/expected/geometry-irix.out src/test/regress/expected/geometry-positive-zeros-bsd.out src/test/regress/expected/geometry-positive-zeros.out src/test/regress/expected/geometry-powerpc-aix4.out src/test/regress/expected/geometry-powerpc-darwin.out src/test/regress/expected/geometry-powerpc-linux-gnulibc1.out src/test/regress/expected/geometry-solaris-i386-pc.out src/test/regress/expected/geometry-solaris-precision.out src/test/regress/expected/geometry-uw7-cc.out src/test/regress/expected/geometry-uw7-gcc.out src/test/regress/expected/geometry.out src/test/regress/expected/hash_index.out src/test/regress/expected/horology-no-DST-before-1970.out src/test/regress/expected/horology-solaris-1947.out src/test/regress/expected/horology.out src/test/regress/expected/inet.out src/test/regress/expected/inherit.out src/test/regress/expected/insert.out src/test/regress/expected/int2.out src/test/regress/expected/int4.out src/test/regress/expected/int8-exp-three-digits.out src/test/regress/expected/int8.out src/test/regress/expected/interval.out src/test/regress/expected/join.out src/test/regress/expected/limit.out src/test/regress/expected/lseg.out src/test/regress/expected/mule_internal.out src/test/regress/expected/name.out src/test/regress/expected/numeric.out src/test/regress/expected/numeric_big.out src/test/regress/expected/numerology.out src/test/regress/expected/oid.out src/test/regress/expected/oidjoins.out src/test/regress/expected/opr_sanity.out src/test/regress/expected/path.out src/test/regress/expected/plpgsql.out src/test/regress/expected/point.out src/test/regress/expected/polygon.out src/test/regress/expected/portals.out src/test/regress/expected/portals_p2.out src/test/regress/expected/privileges.out src/test/regress/expected/random.out src/test/regress/expected/reltime.out src/test/regress/expected/rules.out src/test/regress/expected/sanity_check.out src/test/regress/expected/select.out src/test/regress/expected/select_distinct.out src/test/regress/expected/select_distinct_on.out src/test/regress/expected/select_having.out src/test/regress/expected/select_having_1.out src/test/regress/expected/select_implicit.out src/test/regress/expected/select_implicit_1.out src/test/regress/expected/select_into.out src/test/regress/expected/select_views.out src/test/regress/expected/select_views_1.out src/test/regress/expected/sql_ascii.out src/test/regress/expected/strings.out src/test/regress/expected/subselect.out src/test/regress/expected/temp.out src/test/regress/expected/text.out src/test/regress/expected/time.out src/test/regress/expected/timestamp.out src/test/regress/expected/timestamptz.out src/test/regress/expected/timetz.out src/test/regress/expected/tinterval-solaris-1947.out src/test/regress/expected/tinterval.out src/test/regress/expected/transactions.out src/test/regress/expected/triggers.out src/test/regress/expected/type_sanity.out src/test/regress/expected/union.out src/test/regress/expected/varchar.out src/test/regress/expected/varchar_1.out src/test/regress/input/constraints.source src/test/regress/input/copy.source src/test/regress/input/create_function_1.source src/test/regress/input/create_function_2.source src/test/regress/input/misc.source src/test/regress/output/constraints.source src/test/regress/output/copy.source src/test/regress/output/create_function_1.source src/test/regress/output/create_function_2.source src/test/regress/output/misc.source src/test/regress/parallel_schedule src/test/regress/pg_regress.sh src/test/regress/regress.c src/test/regress/regressplans.sh src/test/regress/resultmap src/test/regress/serial_schedule src/test/regress/sql/abstime.sql src/test/regress/sql/aggregates.sql src/test/regress/sql/alter_table.sql src/test/regress/sql/arrays.sql src/test/regress/sql/bit.sql src/test/regress/sql/boolean.sql src/test/regress/sql/box.sql src/test/regress/sql/btree_index.sql src/test/regress/sql/case.sql src/test/regress/sql/char.sql src/test/regress/sql/circle.sql src/test/regress/sql/comments.sql src/test/regress/sql/create_aggregate.sql src/test/regress/sql/create_index.sql src/test/regress/sql/create_misc.sql src/test/regress/sql/create_operator.sql src/test/regress/sql/create_table.sql src/test/regress/sql/create_type.sql src/test/regress/sql/create_view.sql src/test/regress/sql/date.sql src/test/regress/sql/domain.sql src/test/regress/sql/drop.sql src/test/regress/sql/errors.sql src/test/regress/sql/euc_cn.sql src/test/regress/sql/euc_jp.sql src/test/regress/sql/euc_kr.sql src/test/regress/sql/euc_tw.sql src/test/regress/sql/float4.sql src/test/regress/sql/float8.sql src/test/regress/sql/foreign_key.sql src/test/regress/sql/geometry.sql src/test/regress/sql/hash_index.sql src/test/regress/sql/horology.sql src/test/regress/sql/inet.sql src/test/regress/sql/inherit.sql src/test/regress/sql/insert.sql src/test/regress/sql/int2.sql src/test/regress/sql/int4.sql src/test/regress/sql/int8.sql src/test/regress/sql/interval.sql src/test/regress/sql/join.sql src/test/regress/sql/limit.sql src/test/regress/sql/lseg.sql src/test/regress/sql/mule_internal.sql src/test/regress/sql/name.sql src/test/regress/sql/numeric.sql src/test/regress/sql/numeric_big.sql src/test/regress/sql/numerology.sql src/test/regress/sql/oid.sql src/test/regress/sql/oidjoins.sql src/test/regress/sql/opr_sanity.sql src/test/regress/sql/path.sql src/test/regress/sql/plpgsql.sql src/test/regress/sql/point.sql src/test/regress/sql/polygon.sql src/test/regress/sql/portals.sql src/test/regress/sql/portals_p2.sql src/test/regress/sql/privileges.sql src/test/regress/sql/random.sql src/test/regress/sql/reltime.sql src/test/regress/sql/rules.sql src/test/regress/sql/sanity_check.sql src/test/regress/sql/select.sql src/test/regress/sql/select_distinct.sql src/test/regress/sql/select_distinct_on.sql src/test/regress/sql/select_having.sql src/test/regress/sql/select_implicit.sql src/test/regress/sql/select_into.sql src/test/regress/sql/select_views.sql src/test/regress/sql/sql_ascii.sql src/test/regress/sql/strings.sql src/test/regress/sql/subselect.sql src/test/regress/sql/temp.sql src/test/regress/sql/text.sql src/test/regress/sql/time.sql src/test/regress/sql/timestamp.sql src/test/regress/sql/timestamptz.sql src/test/regress/sql/timetz.sql src/test/regress/sql/tinterval.sql src/test/regress/sql/transactions.sql src/test/regress/sql/triggers.sql src/test/regress/sql/type_sanity.sql src/test/regress/sql/union.sql src/test/regress/sql/varchar.sql src/tools/RELEASE_CHANGES src/tools/backend/README src/tools/backend/backend_dirs.html src/tools/backend/flow.fig src/tools/backend/flow.gif src/tools/backend/index.html src/tools/ccsym src/tools/copyright src/tools/entab/Makefile src/tools/entab/entab.c src/tools/entab/entab.man src/tools/entab/halt.c src/tools/find_badmacros src/tools/find_static src/tools/find_typedef src/tools/make_ctags src/tools/make_diff/README src/tools/make_diff/cporig src/tools/make_diff/difforig src/tools/make_diff/rmorig src/tools/make_etags src/tools/make_keywords src/tools/make_mkid src/tools/pgcvslog src/tools/pginclude/README src/tools/pginclude/pgcompinclude src/tools/pginclude/pgdefine src/tools/pginclude/pgfixinclude src/tools/pginclude/pgrminclude src/tools/pgindent/README src/tools/pgindent/indent.bsd.patch src/tools/pgindent/pgcppindent src/tools/pgindent/pgindent src/tools/pgindent/pgjindent src/tutorial/Makefile src/tutorial/README src/tutorial/advanced.source src/tutorial/basics.source src/tutorial/beard.c src/tutorial/complex.c src/tutorial/complex.source src/tutorial/funcs.c src/tutorial/funcs.source src/tutorial/funcs_new.c src/tutorial/syscat.source src/utils/Makefile src/utils/README src/utils/dllinit.c src/utils/getopt.c src/utils/strdup.c src/win32.mak --- diff --git a/COPYRIGHT b/COPYRIGHT deleted file mode 100644 index c93355e396..0000000000 --- a/COPYRIGHT +++ /dev/null @@ -1,23 +0,0 @@ -PostgreSQL Database Management System -(formerly known as Postgres, then as Postgres95) - -Portions Copyright (c) 1996-2002, The PostgreSQL Global Development Group - -Portions Copyright (c) 1994, The Regents of the University of California - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose, without fee, and without a written agreement -is hereby granted, provided that the above copyright notice and this -paragraph and the following two paragraphs appear in all copies. - -IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING -LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS -DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - -THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. diff --git a/GNUmakefile.in b/GNUmakefile.in deleted file mode 100644 index 56cb1e3574..0000000000 --- a/GNUmakefile.in +++ /dev/null @@ -1,127 +0,0 @@ -# -# PostgreSQL top level makefile -# -# $Header: /cvsroot/pgsql/GNUmakefile.in,v 1.24 2002/03/29 17:32:48 petere Exp $ -# - -subdir = -top_builddir = . -include $(top_builddir)/src/Makefile.global - -all: - $(MAKE) -C doc all - $(MAKE) -C src all - @echo "All of PostgreSQL successfully made. Ready to install." - -install: - $(MAKE) -C doc install - $(MAKE) -C src install - @cat $(srcdir)/register.txt - -installdirs uninstall distprep: - $(MAKE) -C doc $@ - $(MAKE) -C src $@ - -install-all-headers: - $(MAKE) -C src $@ - -# clean, distclean, etc should apply to contrib too, even though -# it's not built by default -clean: - $(MAKE) -C doc $@ - $(MAKE) -C contrib $@ - $(MAKE) -C src $@ -# Garbage from autoconf: - @rm -rf autom4te.cache/ - -# Important: distclean `src' last, otherwise Makefile.global -# will be gone too soon. -distclean maintainer-clean: - -$(MAKE) -C doc $@ - -$(MAKE) -C contrib $@ - -$(MAKE) -C src $@ - -rm -f config.cache config.log config.status GNUmakefile -# Garbage from autoconf: - @rm -rf autom4te.cache/ - -check: all - -check installcheck: - $(MAKE) -C src/test $@ - -GNUmakefile: GNUmakefile.in $(top_builddir)/config.status - ./config.status $@ - - -########################################################################## - -distdir := postgresql-$(VERSION) -dummy := =install= -garbage := =* "#"* ."#"* *~* *.orig *.rej core postgresql-* - -dist: $(distdir).tar.gz -ifeq ($(split-dist), yes) -dist: postgresql-base-$(VERSION).tar.gz postgresql-docs-$(VERSION).tar.gz postgresql-opt-$(VERSION).tar.gz postgresql-test-$(VERSION).tar.gz -endif -dist: - -rm -rf $(distdir) - -$(distdir).tar: distdir - $(TAR) chf $@ $(distdir) - -opt_files := src/backend/utils/mb contrib/retep/build.xml \ - src/tools src/corba src/data src/tutorial \ - $(addprefix src/bin/, pgaccess pgtclsh pg_encoding) \ - $(addprefix src/interfaces/, odbc libpq++ libpgtcl perl5 python jdbc) \ - $(addprefix src/pl/, plperl tcl) - -docs_files := doc/postgres.tar.gz doc/src doc/TODO.detail - -postgresql-base-$(VERSION).tar: distdir - $(TAR) -c $(addprefix --exclude $(distdir)/, $(docs_files) $(opt_files) src/test) \ - -f $@ $(distdir) - -postgresql-docs-$(VERSION).tar: distdir - $(TAR) cf $@ $(addprefix $(distdir)/, $(docs_files)) - -postgresql-opt-$(VERSION).tar: distdir - $(TAR) cf $@ $(addprefix $(distdir)/, $(opt_files)) - -postgresql-test-$(VERSION).tar: distdir - $(TAR) cf $@ $(distdir)/src/test - -distdir: - -rm -rf $(distdir)* $(dummy) - for x in `cd $(top_srcdir) && find . -name CVS -prune -o -print`; do \ - file=`expr X$$x : 'X\./\(.*\)'`; \ - if test -d "$(top_srcdir)/$$file" ; then \ - mkdir "$(distdir)/$$file" && chmod 777 "$(distdir)/$$file"; \ - else \ - ln "$(top_srcdir)/$$file" "$(distdir)/$$file" >/dev/null 2>&1 \ - || cp "$(top_srcdir)/$$file" "$(distdir)/$$file"; \ - fi || exit; \ - done - $(MAKE) -C $(distdir) distprep - $(MAKE) -C $(distdir) distclean - -distcheck: $(distdir).tar.gz - -rm -rf $(dummy) - mkdir $(dummy) - $(GZIP) -d -c $< | $(TAR) xf - - install_prefix=`cd $(dummy) && pwd`; \ - cd $(distdir) \ - && ./configure --prefix="$$install_prefix" - $(MAKE) -C $(distdir) -q distprep - $(MAKE) -C $(distdir) - $(MAKE) -C $(distdir) install - $(MAKE) -C $(distdir) uninstall - @echo "checking whether \`$(MAKE) uninstall' works" - test `find $(dummy) ! -type d | wc -l` -eq 0 - $(MAKE) -C $(distdir) dist -# Room for improvement: Check here whether this distribution tarball -# is sufficiently similar to the original one. - -rm -rf $(distdir) $(dummy) - @echo "Distribution integrity checks out." - -.PHONY: dist distdir distcheck -unexport split-dist diff --git a/HISTORY b/HISTORY deleted file mode 100644 index 2d267df499..0000000000 --- a/HISTORY +++ /dev/null @@ -1,3390 +0,0 @@ - Release Notes - - Release 7.2.1 - - Release date: 2002-03-21 - - This has a variety of fixes from 7.2. - - ---------------------------------------------------------------------- - -Migration to version 7.2.1 - - A dump/restore is *not* required for those running 7.2. - - ---------------------------------------------------------------------- - -Changes - - Ensure that sequence counters do not go backwards after a crash (Tom) - Fix pgaccess kanji-coversion key binding (Tatsuo) - Optimizer improvements (Tom) - cash I/O improvements (Tom) - New Russian FAQ - Compile fix for missing AuthBlockSig (Heiko) - Additional time zones and time zone fixes (Thomas) - Allow psql \connect to handle mixed case database and user names (Tom) - Return proper OID on command completion even with ON INSERT rules (Tom) - Allow COPY FROM to use 8-bit DELIMITERS (Tatsuo) - Fix bug in extract/date_part for milliseconds/microseconds (Tatsuo) - Improve handling of multiple UNIONs with different lengths (Tom) - contrib/btree_gist improvements (Teodor Sigaev) - contrib/tsearch dictionary improvements, see README.tsearch for - an additional installation step (Thomas T. Thai, Teodor Sigaev) - Fix for array subscripts handling (Tom) - Allow EXECUTE of "CREATE TABLE AS ... SELECT" in PL/PgSQL (Tom) - - - ---------------------------------------------------------------------- - - Release 7.2 - - Release date: 2002-02-04 - -Overview - - This release improves PostgreSQL for use in high-volume applications. - - Major changes in this release: - - VACUUM - - Vacuuming no longer locks tables, thus allowing normal user access - during the vacuum. A new "VACUUM FULL" command does old-style - vacuum by locking the table and shrinking the on-disk copy of the - table. - - Transactions - - There is no longer a problem with installations that exceed four - billion transactions. - - OID's - - OID's are now optional. Users can now create tables without OID's - for cases where OID usage is excessive. - - Optimizer - - The system now computes histogram column statistics during - "ANALYZE", allowing much better optimizer choices. - - Security - - A new MD5 encryption option allows more secure storage and - transfer of passwords. A new Unix-domain socket authentication - option is available on Linux and BSD systems. - - Statistics - - Administrators can use the new table access statistics module to - get fine-grained information about table and index usage. - - Internationalization - - Program and library messages can now be displayed in several - languages. - - ---------------------------------------------------------------------- - -Migration to version 7.2 - - A dump/restore using "pg_dump" is required for those wishing to migrate - data from any previous release. - - Observe the following incompatibilities: - - * The semantics of the "VACUUM" command have changed in this release. - You may wish to update your maintenance procedures accordingly. - - * In this release, comparisons using = NULL will always return false (or - NULL, more precisely). Previous releases automatically transformed - this syntax to IS NULL. The old behavior can be re-enabled using a - "postgresql.conf" parameter. - - * The "pg_hba.conf" and "pg_ident.conf" configuration is now only - reloaded after receiving a SIGHUP signal, not with each connection. - - * The function "octet_length()" now returns the uncompressed data - length. - - * The date/time value 'current' is no longer available. You will need to - rewrite your applications. - - * The timestamp() function is no longer available. Use timestamp - 'string' instead, or CAST. - - The SELECT ... LIMIT #,# syntax will be removed in the next release. You - should change your queries to use separate LIMIT and OFFSET clauses, e.g. - LIMIT 10 OFFSET 20. - - ---------------------------------------------------------------------- - -Changes - - Server Operation - - Create temporary files in a separate directory (Bruce) - Delete orphanded temporary files on postmaster startup (Bruce) - Added unique indexes to some system tables (Tom) - System table operator reorganization (Oleg Bartunov, Teodor Sigaev, Tom) - Renamed pg_log to pg_clog (Tom) - Enable SIGTERM, SIGQUIT to kill backends (Jan) - Removed compile-time limit on number of backends (Tom) - Better cleanup for semaphore resource failure (Tatsuo, Tom) - Allow safe transaction ID wraparound (Tom) - Removed OID's from some system tables (Tom) - Removed "triggered data change violation" error check (Tom) - SPI portal creation of prepared/saved plans (Jan) - Allow SPI column functions to work for system columns (Tom) - Long value compression improvement (Tom) - Statistics collector for table, index access (Jan) - Truncate extra-long sequence names to a reasonable value (Tom) - Measure transaction times in milliseconds (Thomas) - Fix TID sequential scans (Hiroshi) - Superuser ID now fixed at 1 (Peter E) - New pg_ctl "reload" option (Tom) - - ---------------------------------------------------------------------- - - Performance - - Optimizer improvements (Tom) - New histogram column statistics for optimizer (Tom) - Reuse write-ahead log files rather than discarding them (Tom) - Cache improvements (Tom) - IS NULL, IS NOT NULL optimizer improvement (Tom) - Improve lock manager to reduce lock contention (Tom) - Keep relcache entries for index access support functions (Tom) - Allow better selectivity with NaN and infinities in NUMERIC (Tom) - R-tree performance improvements (Kenneth Been) - B-tree splits more efficient (Tom) - - ---------------------------------------------------------------------- - - Privileges - - Change UPDATE, DELETE permissions to be distinct (Peter E) - New REFERENCES, TRIGGER privileges (Peter E) - Allow GRANT/REVOKE to/from more than one user at a time (Peter E) - New has_table_privilege() function (Joe Conway) - Allow non-superuser to vacuum database (Tom) - New SET SESSION AUTHORIZATION command (Peter E) - Fix bug in privilege modifications on newly created tables (Tom) - Disallow access to pg_statistic for non-superuser, add user-accessible views (Tom) - - ---------------------------------------------------------------------- - - Client Authentication - - Fork postmaster before doing authentication to prevent hangs (Peter E) - Add ident authentication over Unix domain sockets on Linux, *BSD (Helge Bahmann, Oliver Elphick, Teodor Sigaev, Bruce) - Add a password authentication method that uses MD5 encryption (Bruce) - Allow encryption of stored passwords using MD5 (Bruce) - PAM authentication (Dominic J. Eidson) - Load pg_hba.conf and pg_ident.conf only on startup and SIGHUP (Bruce) - - ---------------------------------------------------------------------- - - Server Configuration - - Interpretation of some time zone abbreviations as Australian rather than North American now settable at run time (Bruce) - New parameter to set default transaction isolation level (Peter E) - New parameter to enable conversion of "expr = NULL" into "expr IS NULL", off by default (Peter E) - New parameter to control memory usage by VACUUM (Tom) - New parameter to set client authentication timeout (Tom) - New parameter to set maximum number of open files (Tom) - - ---------------------------------------------------------------------- - - Queries - - Statements added by INSERT rules now execute after the INSERT (Jan) - Prevent unadorned relation names in target list (Bruce) - NULLs now sort after all normal values in ORDER BY (Tom) - New IS UNKNOWN, IS NOT UNKNOWN Boolean tests (Tom) - New SHARE UPDATE EXCLUSIVE lock mode (Tom) - New EXPLAIN ANALYZE command that shows run times and row counts (Martijn van Oosterhout) - Fix problem with LIMIT and subqueries (Tom) - Fix for LIMIT, DISTINCT ON pushed into subqueryies (Tom) - Fix nested EXCEPT/INTERSECT (Tom) - - ---------------------------------------------------------------------- - - Schema Manipulation - - Fix SERIAL in temporary tables (Bruce) - Allow temporary sequences (Bruce) - Sequences now use int8 internally (Tom) - New SERIAL8 creates int8 columns with sequences, default still SERIAL4 (Tom) - Make OIDs optional using WITHOUT OIDS (Tom) - Add %TYPE syntax to CREATE TYPE (Ian Lance Taylor) - Add ALTER TABLE / DROP CONSTRAINT for CHECK constraints (Christopher Kings-Lynne) - New CREATE OR REPLACE FUNCTION to alter existing function (preserving the function OID) (Gavin Sherry) - Add ALTER TABLE / ADD [ UNIQUE | PRIMARY ] (Christopher Kings-Lynne) - Allow column renaming in views - Make ALTER TABLE / RENAME COLUMN update column names of indexes (Brent Verner) - Fix for ALTER TABLE / ADD CONSTRAINT ... CHECK with inherited tables (Stephan Szabo) - ALTER TABLE RENAME update foreign-key trigger arguments correctly (Brent Verner) - DROP AGGREGATE and COMMENT ON AGGREGATE now accept an aggtype (Tom) - Add automatic return type data casting for SQL functions (Tom) - Allow GiST indexes to handle NULLs and multikey indexes (Oleg Bartunov, Teodor Sigaev, Tom) - Enable partial indexes (Martijn van Oosterhout) - - ---------------------------------------------------------------------- - - Utility Commands - - Add RESET ALL, SHOW ALL (Marko Kreen) - CREATE/ALTER USER/GROUP now allow options in any order (Vince) - Add LOCK A, B, C functionality (Neil Padgett) - New ENCRYPTED/UNENCRYPTED option to CREATE/ALTER USER (Bruce) - New light-weight VACUUM does not lock table; old semantics are available as VACUUM FULL (Tom) - Disable COPY TO/FROM on views (Bruce) - COPY DELIMITERS string must be exactly one character (Tom) - VACUUM warning about index tuples fewer than heap now only appears when appropriate (Martijn van Oosterhout) - Fix permission checks for CREATE INDEX (Tom) - Disallow inappropriate use of CREATE/DROP INDEX/TRIGGER/VIEW (Tom) - - ---------------------------------------------------------------------- - - Data Types and Functions - - SUM(), AVG(), COUNT() now uses int8 internally for speed (Tom) - Add convert(), convert2() (Tatsuo) - New function bit_length() (Peter E) - Make the "n" in CHAR(n)/VARCHAR(n) represents letters, not bytes (Tatsuo) - CHAR(), VARCHAR() now reject strings that are too long (Peter E) - BIT VARYING now rejects bit strings that are too long (Peter E) - BIT now rejects bit strings that do not match declared size (Peter E) - INET, CIDR text conversion functions (Alex Pilosov) - INET, CIDR operators << and <<= indexable (Alex Pilosov) - Bytea \### now requires valid three digit octal number - Bytea comparison improvements, now supports =, <>, >, >=, <, and <= - Bytea now supports B-tree indexes - Bytea now supports LIKE, LIKE...ESCAPE, NOT LIKE, NOT LIKE...ESCAPE - Bytea now supports concatenation - New bytea functions: position, substring, trim, btrim, and length - New encode() function mode, "escaped", converts minimally escaped bytea to/from text - Add pg_database_encoding_max_length() (Tatsuo) - Add pg_client_encoding() function (Tatsuo) - now() returns time with millisecond precision (Thomas) - New TIMESTAMP WITHOUT TIMEZONE data type (Thomas) - Add ISO date/time specification with "T", yyyy-mm-ddThh:mm:ss (Thomas) - New xid/int comparison functions (Hiroshi) - Add precision to TIME, TIMESTAMP, and INVERVAL data types (Thomas) - Modify type coersion logic to attempt binary-compatible functions first (Tom) - New encode() function installed by default (Marko Kreen) - Improved to_*() conversion functions (Karel Zak) - Optimize LIKE/ILIKE when using single-byte encodings (Tatsuo) - New functions in contrib/pgcrypto: crypt(), hmac(), encrypt(), gen_salt() (Marko Kreen) - Correct description of translate() function (Bruce) - Add INTERVAL argument for SET TIME ZONE (Thomas) - Add INTERVAL YEAR TO MONTH (etc.) syntax (Thomas) - Optimize length functions when using single-byte encodings (Tatsuo) - Fix path_inter, path_distance, path_length, dist_ppath to handle closed paths (Curtis Barrett, Tom) - octet_length(text) now returns non-compressed length (Tatsuo, Bruce) - Handle "July" full name in date/time literals (Greg Sabino Mullane) - Some datatype() function calls now evaluated differently - Add support for Julian and ISO time specifications (Thomas) - - ---------------------------------------------------------------------- - - Internationalization - - National language support in psql, pg_dump, libpq, and server (Peter E) - Message translations in Chinese (simplified, traditional), Czech, French, German, Hungarian, Russian, Swedish (Peter E, Serguei A. Mokhov, Karel Zak, Weiping He, Zhenbang Wei, Kovacs Zoltan) - Make trim, ltrim, rtrim, btrim, lpad, rpad, translate multibyte aware (Tatsuo) - Add LATIN5,6,7,8,9,10 support (Tatsuo) - Add ISO 8859-5,6,7,8 support (Tatsuo) - Correct LATIN5 to mean ISO-8859-9, not ISO-8859-5 (Tatsuo) - Make mic2ascii() non-ASCII aware (Tatsuo) - Reject invalid multibyte character sequences (Tatsuo) - - ---------------------------------------------------------------------- - - PL/pgSQL - - Now uses portals for SELECT loops, allowing huge result sets (Jan) - CURSOR and REFCURSOR support (Jan) - Can now return open cursors (Jan) - Add ELSEIF (Klaus Reger) - Improve PL/pgSQL error reporting, including location of error (Tom) - Allow IS or FOR key words in cursor declaration, for compatibility (Bruce) - Fix for SELECT ... FOR UPDATE (Tom) - Fix for PERFORM returning multiple rows (Tom) - Make PL/pgSQL use the server's type coercion code (Tom) - Memory leak fix (Jan, Tom) - Make trailing semicolon optional (Tom) - - ---------------------------------------------------------------------- - - PL/Perl - - New untrusted PL/Perl (Alex Pilosov) - PL/Perl is now built on some platforms even if libperl is not shared (Peter E) - - ---------------------------------------------------------------------- - - PL/Tcl - - Now reports errorInfo (Vsevolod Lobko) - Add spi_lastoid function (bob@redivi.com) - - ---------------------------------------------------------------------- - - PL/Python - - ...is new (Andrew Bosma) - - ---------------------------------------------------------------------- - - Psql - - \d displays indexes in unique, primary groupings (Christopher Kings-Lynne) - Allow trailing semicolons in backslash commands (Greg Sabino Mullane) - Read password from /dev/tty if possible - Force new password prompt when changing user and database (Tatsuo, Tom) - Format the correct number of columns for Unicode (Patrice) - - ---------------------------------------------------------------------- - - Libpq - - New function PQescapeString() to escape quotes in command strings (Florian Weimer) - New function PQescapeBytea() escapes binary strings for use as SQL string literals - - ---------------------------------------------------------------------- - - JDBC - - Return OID of INSERT (Ken K) - Handle more data types (Ken K) - Handle single quotes and newlines in strings (Ken K) - Handle NULL variables (Ken K) - Fix for time zone handling (Barry Lind) - Improved Druid support - Allow eight-bit characters with non-multibyte server (Barry Lind) - Support BIT, BINARY types (Ned Wolpert) - Reduce memory usage (Michael Stephens, Dave Cramer) - Update DatabaseMetaData (Peter E) - Add DatabaseMetaData.getCatalogs() (Peter E) - Encoding fixes (Anders Bengtsson) - Get/setCatalog methods (Jason Davies) - DatabaseMetaData.getColumns() now returns column defaults (Jason Davies) - DatabaseMetaData.getColumns() performance improvement (Jeroen van Vianen) - Some JDBC1 and JDBC2 merging (Anders Bengtsson) - Transaction performance improvements (Barry Lind) - Array fixes (Greg Zoller) - Serialize addition - Fix batch processing (Rene Pijlman) - ExecSQL method reorganization (Anders Bengtsson) - GetColumn() fixes (Jeroen van Vianen) - Fix isWriteable() function (Rene Pijlman) - Improved passage of JDBC2 conformance tests (Rene Pijlman) - Add bytea type capability (Barry Lind) - Add isNullable() (Rene Pijlman) - JDBC date/time test suite fixes (Liam Stewart) - Fix for SELECT 'id' AS xxx FROM table (Dave Cramer) - Fix DatabaseMetaData to show precision properly (Mark Lillywhite) - New getImported/getExported keys (Jason Davies) - MD5 password encryption support (Jeremy Wohl) - Fix to actually use type cache (Ned Wolpert) - - ---------------------------------------------------------------------- - - ODBC - - Remove query size limit (Hiroshi) - Remove text field size limit (Hiroshi) - Fix for SQLPrimaryKeys in multibyte mode (Hiroshi) - Allow ODBC procedure calls (Hiroshi) - Improve boolean handing (Aidan Mountford) - Most configuration options on setable via DSN (Hiroshi) - Multibyte, performance fixes (Hiroshi) - Allow driver to be used with iODBC or unixODBC (Peter E) - MD5 password encryption support (Bruce) - Add more compatibility functions to odbc.sql (Peter E) - - ---------------------------------------------------------------------- - - ECPG - - EXECUTE ... INTO implemented (Christof Petig) - Multiple row descriptor support (e.g. CARDINALITY) (Christof Petig) - Fix for GRANT parameters (Lee Kindness) - Fix INITIALLY DEFERRED bug - Various bug fixes (Michael, Christof Petig) - Auto allocation for indicator variable arrays (int *ind_p=NULL) - Auto allocation for string arrays (char **foo_pp=NULL) - ECPGfree_auto_mem fixed - All function names with external linkage are now prefixed by ECPG - Fixes for arrays of structures (Michael) - - ---------------------------------------------------------------------- - - Misc. Interfaces - - Python fix fetchone() (Gerhard Haring) - Use UTF, Unicode in Tcl where appropriate (Vsevolod Lobko, Reinhard Max) - Add Tcl COPY TO/FROM (ljb) - Prevent output of default index op class in pg_dump (Tom) - Fix libpgeasy memory leak (Bruce) - - ---------------------------------------------------------------------- - - Build and Install - - Configure, dynamic loader, and shared library fixes (Peter E) - Fixes in QNX 4 port (Bernd Tegge) - Fixes in Cygwin and Win32 ports (Jason Tishler, Gerhard Haring, Dmitry Yurtaev, Darko Prenosil, Mikhail Terekhov) - Fix for Win32 socket communication failures (Magnus, Mikhail Terekhov) - Hurd compile fix (Oliver Elphick) - BeOS fixes (Cyril Velter) - Remove configure --enable-unicode-conversion, now enabled by multibyte (Tatsuo) - AIX fixes (Tatsuo, Andreas) - Fix parallel make (Peter E) - Install SQL language manual pages into OS-specific directories (Peter E) - Rename config.h to pg_config.h (Peter E) - Reorganize installation layout of header files (Peter E) - - ---------------------------------------------------------------------- - - Source Code - - Remove SEP_CHAR (Bruce) - New GUC hooks (Tom) - Merge GUC and command line handling (Marko Kreen) - Remove EXTEND INDEX (Martijn van Oosterhout, Tom) - New pgjindent utility to indent java code (Bruce) - Remove define of true/false when compiling under C++ (Leandro Fanzone, Tom) - pgindent fixes (Bruce, Tom) - Replace strcasecmp() with strcmp() where appropriate (Peter E) - Dynahash portability improvements (Tom) - Add 'volatile' usage in spinlock structures - Improve signal handling logic (Tom) - - ---------------------------------------------------------------------- - - Contrib - - New contrib/rtree_gist (Oleg Bartunov, Teodor Sigaev) - New contrib/tsearch full-text indexing (Oleg, Teodor Sigaev) - Add contrib/dblink for remote database access (Joe Conway) - contrib/ora2pg Oracle conversion utility (Gilles Darold) - contrib/xml XML conversion utility (John Gray) - contrib/fulltextindex fixes (Christopher Kings-Lynne) - New contrib/fuzzystrmatch with levenshtein and metaphone, soundex merged (Joe Conway) - Add contrib/intarray boolean queries, binary search, fixes (Oleg Bartunov) - New pg_upgrade utility (Bruce) - Add new pg_resetxlog options (Bruce, Tom) - ---------------------------------------------------------------------- - - Release 7.1.3 - - Release date: 2001-08-15 - - ---------------------------------------------------------------------- - -Migration to version 7.1.3 - - A dump/restore is *not* required for those running 7.1.X. - - ---------------------------------------------------------------------- - -Changes - - Remove unused WAL segements of large transactions (Tom) - Multiaction rule fix (Tom) - PL/pgSQL memory allocation fix (Jan) - VACUUM buffer fix (Tom) - Regression test fixes (Tom) - pg_dump fixes for GRANT/REVOKE/comments on views, user-defined types (Tom) - Fix subselects with DISTINCT ON or LIMIT (Tom) - BEOS fix - Disable COPY TO/FROM a view (Tom) - Cygwin build (Jason Tishler) - - - ---------------------------------------------------------------------- - - Release 7.1.2 - - Release date: 2001-05-11 - - This has one fix from 7.1.1. - - ---------------------------------------------------------------------- - -Migration to version 7.1.2 - - A dump/restore is *not* required for those running 7.1.X. - - ---------------------------------------------------------------------- - -Changes - - Fix PL/pgSQL SELECTs when returning no rows - Fix for psql backslash core dump - Referential integrity permission fix - Optimizer fixes - pg_dump cleanups - - - ---------------------------------------------------------------------- - - Release 7.1.1 - - Release date: 2001-05-05 - - This has a variety of fixes from 7.1. - - ---------------------------------------------------------------------- - -Migration to version 7.1.1 - - A dump/restore is *not* required for those running 7.1. - - ---------------------------------------------------------------------- - -Changes - - Fix for numeric MODULO operator (Tom) - pg_dump fixes (Philip) - pg_dump can dump 7.0 databases (Philip) - readline 4.2 fixes (Peter E) - JOIN fixes (Tom) - AIX, MSWIN, VAX,N32K fixes (Tom) - Multibytes fixes (Tom) - Unicode fixes (Tatsuo) - Optimizer improvements (Tom) - Fix for whole tuples in functions (Tom) - Fix for pg_ctl and option strings with spaces (Peter E) - ODBC fixes (Hiroshi) - EXTRACT can now take string argument (Thomas) - Python fixes (Darcy) - - - ---------------------------------------------------------------------- - - Release 7.1 - - Release date: 2001-04-13 - - This release focuses on removing limitations that have existed in the - PostgreSQL code for many years. - - Major changes in this release: - - Write-ahead Log (WAL) - - To maintain database consistency in case of an operating system - crash, previous releases of PostgreSQL have forced all data - modifications to disk before each transaction commit. With WAL, - only one log file must be flushed to disk, greatly improving - performance. If you have been using -F in previous releases to - disable disk flushes, you may want to consider discontinuing its - use. - - TOAST - - TOAST - Previous releases had a compiled-in row length limit, - typically 8k - 32k. This limit made storage of long text fields - difficult. With TOAST, long rows of any length can be stored with - good performance. - - Outer Joins - - We now support outer joins. The UNION/NOT IN workaround for outer - joins is no longer required. We use the SQL92 outer join syntax. - - Function Manager - - The previous C function manager did not handle NULLs properly, nor - did it support 64-bit CPU's (Alpha). The new function manager - does. You can continue using your old custom functions, but you - may want to rewrite them in the future to use the new function - manager call interface. - - Complex Queries - - A large number of complex queries that were unsupported in - previous releases now work. Many combinations of views, - aggregates, UNION, LIMIT, cursors, subqueries, and inherited - tables now work properly. Inherited tables are now accessed by - default. Subqueries in FROM are now supported. - - ---------------------------------------------------------------------- - -Migration to version 7.1 - - A dump/restore using pg_dump is required for those wishing to migrate data - from any previous release. - - ---------------------------------------------------------------------- - -Changes - - Bug Fixes - --------- - Many multi-byte/Unicode/locale fixes (Tatsuo and others) - More reliable ALTER TABLE RENAME (Tom) - Kerberos V fixes (David Wragg) - Fix for INSERT INTO...SELECT where targetlist has subqueries (Tom) - Prompt username/password on standard error (Bruce) - Large objects inv_read/inv_write fixes (Tom) - Fixes for to_char(), to_date(), to_ascii(), and to_timestamp() (Karel, - Daniel Baldoni) - Prevent query expressions from leaking memory (Tom) - Allow UPDATE of arrays elements (Tom) - Wake up lock waiters during cancel (Hiroshi) - Fix rare cursor crash when using hash join (Tom) - Fix for DROP TABLE/INDEX in rolled-back transaction (Hiroshi) - Fix psql crash from \l+ if MULTIBYTE enabled (Peter E) - Fix truncation of rule names during CREATE VIEW (Ross Reedstrom) - Fix PL/perl (Alex Kapranoff) - Disallow LOCK on views (Mark Hollomon) - Disallow INSERT/UPDATE/DELETE on views (Mark Hollomon) - Disallow DROP RULE, CREATE INDEX, TRUNCATE on views (Mark Hollomon) - Allow PL/pgSQL accept non-ASCII identifiers (Tatsuo) - Allow views to proper handle GROUP BY, aggregates, DISTINCT (Tom) - Fix rare failure with TRUNCATE command (Tom) - Allow UNION/INTERSECT/EXCEPT to be used with ALL, subqueries, views, - DISTINCT, ORDER BY, SELECT...INTO (Tom) - Fix parser failures during aborted transactions (Tom) - Allow temporary relations to properly clean up indexes (Bruce) - Fix VACUUM problem with moving rows in same page (Tom) - Modify pg_dump to better handle user-defined items in template1 (Philip) - Allow LIMIT in VIEW (Tom) - Require cursor FETCH to honor LIMIT (Tom) - Allow PRIMARY/FOREIGN Key definitions on inherited columns (Stephan) - Allow ORDER BY, LIMIT in sub-selects (Tom) - Allow UNION in CREATE RULE (Tom) - Make ALTER/DROP TABLE rollback-able (Vadim, Tom) - Store initdb collation in pg_control so collation cannot be changed (Tom) - Fix INSERT...SELECT with rules (Tom) - Fix FOR UPDATE inside views and subselects (Tom) - Fix OVERLAPS operators conform to SQL92 spec regarding NULLs (Tom) - Fix lpad() and rpad() to handle length less than input string (Tom) - Fix use of NOTIFY in some rules (Tom) - Overhaul btree code (Tom) - Fix NOT NULL use in Pl/pgSQL variables (Tom) - Overhaul GIST code (Oleg) - Fix CLUSTER to preserve constraints and column default (Tom) - Improved deadlock detection handling (Tom) - Allow multiple SERIAL columns in a table (Tom) - Prevent occasional index corruption (Vadim) - - Enhancements - ------------ - Add OUTER JOINs (Tom) - Function manager overhaul (Tom) - Allow ALTER TABLE RENAME on indexes (Tom) - Improve CLUSTER (Tom) - Improve ps status display for more platforms (Peter E, Marc) - Improve CREATE FUNCTION failure message (Ross) - JDBC improvements (Peter, Travis Bauer, Christopher Cain, William Webber, - Gunnar) - Grand Unified Configuration scheme/GUC. Many options can now be set in - data/postgresql.conf, postmaster/postgres flags, or SET commands (Peter E) - Improved handling of file descriptor cache (Tom) - New warning code about auto-created table alias entries (Bruce) - Overhaul initdb process (Tom, Peter E) - Overhaul of inherited tables; inherited tables now accessed by default; - new ONLY keyword prevents it (Chris Bitmead, Tom) - ODBC cleanups/improvements (Nick Gorham, Stephan Szabo, Zoltan Kovacs, - Michael Fork) - Allow renaming of temp tables (Tom) - Overhaul memory manager contexts (Tom) - pg_dumpall uses CREATE USER or CREATE GROUP rather using COPY (Peter E) - Overhaul pg_dump (Philip Warner) - Allow pg_hba.conf secondary password file to specify only username (Peter E) - Allow TEMPORARY or TEMP keyword when creating temporary tables (Bruce) - New memory leak checker (Karel) - New SET SESSION CHARACTERISTICS (Thomas) - Allow nested block comments (Thomas) - Add WITHOUT TIME ZONE type qualifier (Thomas) - New ALTER TABLE ADD CONSTRAINT (Stephan) - Use NUMERIC accumulators for INTEGER aggregates (Tom) - Overhaul aggregate code (Tom) - New VARIANCE and STDDEV() aggregates - Improve dependency ordering of pg_dump (Philip) - New pg_restore command (Philip) - New pg_dump tar output option (Philip) - New pg_dump of large objects (Philip) - New ESCAPE option to LIKE (Thomas) - New case-insensitive LIKE - ILIKE (Thomas) - Allow functional indexes to use binary-compatible type (Tom) - Allow SQL functions to be used in more contexts (Tom) - New pg_config utility (Peter E) - New PL/pgSQL EXECUTE command which allows dynamic SQL and utility statements - (Jan) - New PL/pgSQL GET DIAGNOSTICS statement for SPI value access (Jan) - New quote_identifiers() and quote_literal() functions (Jan) - New ALTER TABLE table OWNER TO user command (Mark Hollomon) - Allow subselects in FROM, i.e. FROM (SELECT ...) [AS] alias (Tom) - Update PyGreSQL to version 3.1 (D'Arcy) - Store tables as files named by OID (Vadim) - New SQL function setval(seq,val,bool) for use in pg_dump (Philip) - Require DROP VIEW to remove views, no DROP TABLE (Mark) - Allow DROP VIEW view1, view2 (Mark) - Allow multiple objects in DROP INDEX, DROP RULE, and DROP TYPE (Tom) - Allow automatic conversion to/from Unicode (Tatsuo, Eiji) - New /contrib/pgcrypto hashing functions (Marko Kreen) - New pg_dumpall --globals-only option (Peter E) - New CHECKPOINT command for WAL which creates new WAL log file (Vadim) - New AT TIME ZONE syntax (Thomas) - Allow location of Unix domain socket to be configurable (David J. MacKenzie) - Allow postmaster to listen on a specific IP address (David J. MacKenzie) - Allow socket path name to be specified in hostname by using leading slash - (David J. MacKenzie) - Allow CREATE DATABASE to specify template database (Tom) - New utility to convert MySQL schema dumps to SQL92 and PostgreSQL (Thomas) - New /contrib/rserv replication toolkit (Vadim) - New file format for COPY BINARY (Tom) - New /contrib/oid2name to map numeric files to table names (B Palmer) - New "idle in transaction" ps status message (Marc) - Update to pgaccess 0.98.7 (Constantin Teodorescu) - pg_ctl now defaults to -w (wait) on shutdown, new -l (log) option - Add rudimentary dependency checking to pg_dump (Philip) - - Types - ----- - Fix INET/CIDR type ordering and add new functions (Tom) - Make OID behave as an unsigned type (Tom) - Allow BIGINT as synonym for INT8 (Peter E) - New int2 and int8 comparison operators (Tom) - New BIT and BIT VARYING types (Adriaan Joubert, Tom, Peter E) - CHAR() no longer faster than VARCHAR() because of TOAST (Tom) - New GIST seg/cube examples (Gene Selkov) - Improved round(numeric) handling (Tom) - Fix CIDR output formatting (Tom) - New CIDR abbrev() function (Tom) - - Performance - ----------- - Write-Ahead Log (WAL) to provide crash recovery with less performance - overhead (Vadim) - ANALYZE stage of VACUUM no longer exclusively locks table (Bruce) - Reduced file seeks (Denis Perchine) - Improve BTREE code for duplicate keys (Tom) - Store all large objects in a single table (Denis Perchine, Tom) - Improve memory allocation performance (Karel, Tom) - - Source Code - ----------- - New function manager call conventions (Tom) - SGI portability fixes (David Kaelbling) - New configure --enable-syslog option (Peter E) - New BSDI README (Bruce) - configure script moved to top level, not /src (Peter E) - Makefile/configuration/compilation overhaul (Peter E) - New configure --with-python option (Peter E) - Solaris cleanups (Peter E) - Overhaul /contrib Makefiles (Karel) - New OpenSSL configuration option (Magnus, Peter E) - AIX fixes (Andreas) - QNX fixes (Maurizio) - New heap_open(), heap_openr() API (Tom) - Remove colon and semi-colon operators (Thomas) - New pg_class.relkind value for views (Mark Hollomon) - Rename ichar() to chr() (Karel) - New documentation for btrim(), ascii(), chr(), repeat() (Karel) - Fixes for NT/Cygwin (Pete Forman) - AIX port fixes (Andreas) - New BeOS port (David Reid, Cyril Velter) - Add proofreader's changes to docs (Addison-Wesley, Bruce) - New Alpha spinlock code (Adriaan Joubert, Compaq) - Unixware port overhaul (Peter E) - New Darwin/Mac OSX port (Peter Bierman, Bruce Hartzler) - New FreeBSD Alpha port (Alfred) - Overhaul shared memory segments (Tom) - Add IBM S/390 support (Neale Ferguson) - Moved macmanuf to /contrib (Larry Rosenman) - Syslog improvements (Larry Rosenman) - New template0 database that contains no user additions (Tom) - New /contrib/cube and /contrib/seg GIST sample code (Gene Selkov) - Allow NetBSD's libedit instead of readline (Peter) - Improved assembly language source code format (Bruce) - New contrib/pg_logger - New --template option to createdb - New contrib/pg_control utility (Oliver) - New FreeBSD tools ipc_check, start-scripts/freebsd - - - ---------------------------------------------------------------------- - - Release 7.0.3 - - Release date: 2000-11-11 - - This has a variety of fixes from 7.0.2. - - ---------------------------------------------------------------------- - -Migration to version 7.0.3 - - A dump/restore is *not* required for those running 7.0.*. - - ---------------------------------------------------------------------- - -Changes - - Jdbc fixes (Peter) - Large object fix (Tom) - Fix lean in COPY WITH OIDS leak (Tom) - Fix backwards-index-scan (Tom) - Fix SELECT ... FOR UPDATE so it checks for duplicate keys (Hiroshi) - Add --enable-syslog to configure (Marc) - Fix abort transaction at backend exit in rare cases (Tom) - Fix for psql \l+ when multi-byte enabled (Tatsuo) - Allow PL/pgSQL to accept non ascii identifiers (Tatsuo) - Make vacuum always flush buffers (Tom) - Fix to allow cancel while waiting for a lock (Hiroshi) - Fix for memory aloocation problem in user authentication code (Tom) - Remove bogus use of int4out() (Tom) - Fixes for multiple subqueries in COALESCE or BETWEEN (Tom) - Fix for failure of triggers on heap open in certain cases (Jeroen van - Vianen) - Fix for erroneous selectivity of not-equals (Tom) - Fix for erroneous use of strcmp() (Tom) - Fix for bug where storage manager accesses items beyond end of file - (Tom) - Fix to include kernel errno message in all smgr elog messages (Tom) - Fix for '.' not in PATH at build time (SL Baur) - Fix for out-of-file-descriptors error (Tom) - Fix to make pg_dump dump 'iscachable' flag for functions (Tom) - Fix for subselect in targetlist of Append node (Tom) - Fix for mergejoin plans (Tom) - Fix TRUNCATE failure on relations with indexes (Tom) - Avoid database-wide restart on write error (Hiroshi) - Fix nodeMaterial to honor chgParam by recomputing its output (Tom) - Fix VACUUM problem with moving chain of update tuples when source and - destination of a tuple lie on the same page (Tom) - Fix user.c CommandCounterIncrement (Tom) - Fix for AM/PM boundary problem in to_char() (Karel Zak) - Fix TIME aggregate handling (Tom) - Fix to_char() to avoid coredump on NULL input (Tom) - Buffer fix (Tom) - Fix for inserting/copying longer multibyte strings into char() data - types (Tatsuo) - Fix for crash of backend, on abort (Tom) - - - ---------------------------------------------------------------------- - - Release 7.0.2 - - Release date: 2000-06-05 - - This is a repackaging of 7.0.1 with added documentation. - - ---------------------------------------------------------------------- - -Migration to version 7.0.2 - - A dump/restore is *not* required for those running 7.*. - - ---------------------------------------------------------------------- - -Changes - - Added documentation to tarball. - - - ---------------------------------------------------------------------- - - Release 7.0.1 - - Release date: 2000-06-01 - - This is a cleanup release for 7.0. - - ---------------------------------------------------------------------- - -Migration to version 7.0.1 - - A dump/restore is *not* required for those running 7.0. - - ---------------------------------------------------------------------- - -Changes - - Fix many CLUSTER failures (Tom) - Allow ALTER TABLE RENAME works on indexes (Tom) - Fix plpgsql to handle datetime->timestamp and timespan->interval (Bruce) - New configure --with-setproctitle switch to use setproctitle() (Marc, Bruce) - Fix the off by one errors in ResultSet from 6.5.3, and more. - jdbc ResultSet fixes (Joseph Shraibman) - optimizer tunings (Tom) - Fix create user for pgaccess - Fix for UNLISTEN failure - IRIX fixes (David Kaelbling) - QNX fixes (Andreas Kardos) - Reduce COPY IN lock level (Tom) - Change libpqeasy to use PQconnectdb() style parameters (Bruce) - Fix pg_dump to handle OID indexes (Tom) - Fix small memory leak (Tom) - Solaris fix for createdb/dropdb (Tatsuo) - Fix for non-blocking connections (Alfred Perlstein) - Fix improper recovery after RENAME TABLE failures (Tom) - Copy pg_ident.conf.sample into /lib directory in install (Bruce) - Add SJIS UDC (NEC selection IBM kanji) support (Eiji Tokuya) - Fix too long syslog message (Tatsuo) - Fix problem with quoted indexes that are too long (Tom) - JDBC ResultSet.getTimestamp() fix (Gregory Krasnow & Floyd Marinescu) - ecpg changes (Michael) - - - ---------------------------------------------------------------------- - - Release 7.0 - - Release date: 2000-05-08 - - This release contains improvements in many areas, demonstrating the - continued growth of PostgreSQL. There are more improvements and fixes in - 7.0 than in any previous release. The developers have confidence that this - is the best release yet; we do our best to put out only solid releases, - and this one is no exception. - - Major changes in this release: - - Foreign Keys - - Foreign keys are now implemented, with the exception of PARTIAL - MATCH foreign keys. Many users have been asking for this feature, - and we are pleased to offer it. - - Optimizer Overhaul - - Continuing on work started a year ago, the optimizer has been - improved, allowing better query plan selection and faster - performance with less memory usage. - - Updated psql - - psql, our interactive terminal monitor, has been updated with a - variety of new features. See the psql manual page for details. - - Join Syntax - - SQL92 join syntax is now supported, though only as INNER JOINs for - this release. JOIN, NATURAL JOIN, JOIN/USING, JOIN/ON are - available, as are column correlation names. - - ---------------------------------------------------------------------- - -Migration to version 7.0 - - A dump/restore using pg_dump is required for those wishing to migrate data - from any previous release of PostgreSQL. For those upgrading from 6.5.*, - you may instead use pg_upgrade to upgrade to this release; however, a full - dump/reload installation is always the most robust method for upgrades. - - Interface and compatibility issues to consider for the new release - include: - - * The date/time types datetime and timespan have been superseded by the - SQL92-defined types timestamp and interval. Although there has been - some effort to ease the transition by allowing PostgreSQL to recognize - the deprecated type names and translate them to the new type names, - this mechanism may not be completely transparent to your existing - application. - - * The optimizer has been substantially improved in the area of query - cost estimation. In some cases, this will result in decreased query - times as the optimizer makes a better choice for the preferred plan. - However, in a small number of cases, usually involving pathological - distributions of data, your query times may go up. If you are dealing - with large amounts of data, you may want to check your queries to - verify performance. - - * The JDBC and ODBC interfaces have been upgraded and extended. - - * The string function CHAR_LENGTH is now a native function. Previous - versions translated this into a call to LENGTH, which could result in - ambiguity with other types implementing LENGTH such as the geometric - types. - - ---------------------------------------------------------------------- - -Changes - - Bug Fixes - --------- - Prevent function calls exceeding maximum number of arguments (Tom) - Improve CASE construct (Tom) - Fix SELECT coalesce(f1,0) FROM int4_tbl GROUP BY f1 (Tom) - Fix SELECT sentence.words[0] FROM sentence GROUP BY sentence.words[0] (Tom) - Fix GROUP BY scan bug (Tom) - Improvements in SQL grammar processing (Tom) - Fix for views involved in INSERT ... SELECT ... (Tom) - Fix for SELECT a/2, a/2 FROM test_missing_target GROUP BY a/2 (Tom) - Fix for subselects in INSERT ... SELECT (Tom) - Prevent INSERT ... SELECT ... ORDER BY (Tom) - Fixes for relations greater than 2GB, including vacuum - Improve propagating system table changes to other backends (Tom) - Improve propagating user table changes to other backends (Tom) - Fix handling of temp tables in complex situations (Bruce, Tom) - Allow table locking at table open, improving concurrent reliability (Tom) - Properly quote sequence names in pg_dump (Ross J. Reedstrom) - Prevent DROP DATABASE while others accessing - Prevent any rows from being returned by GROUP BY if no rows processed (Tom) - Fix SELECT COUNT(1) FROM table WHERE ...' if no rows matching WHERE (Tom) - Fix pg_upgrade so it works for MVCC (Tom) - Fix for SELECT ... WHERE x IN (SELECT ... HAVING SUM(x) > 1) (Tom) - Fix for "f1 datetime DEFAULT 'now'" (Tom) - Fix problems with CURRENT_DATE used in DEFAULT (Tom) - Allow comment-only lines, and ;;; lines too. (Tom) - Improve recovery after failed disk writes, disk full (Hiroshi) - Fix cases where table is mentioned in FROM but not joined (Tom) - Allow HAVING clause without aggregate functions (Tom) - Fix for "--" comment and no trailing newline, as seen in perl interface - Improve pg_dump failure error reports (Bruce) - Allow sorts and hashes to exceed 2GB file sizes (Tom) - Fix for pg_dump dumping of inherited rules (Tom) - Fix for NULL handling comparisons (Tom) - Fix inconsistent state caused by failed CREATE/DROP commands (Hiroshi) - Fix for dbname with dash - Prevent DROP INDEX from interfering with other backends (Tom) - Fix file descriptor leak in verify_password() - Fix for "Unable to identify an operator =$" problem - Fix ODBC so no segfault if CommLog and Debug enabled (Dirk Niggemann) - Fix for recursive exit call (Massimo) - Fix for extra-long timezones (Jeroen van Vianen) - Make pg_dump preserve primary key information (Peter E) - Prevent databases with single quotes (Peter E) - Prevent DROP DATABASE inside transaction (Peter E) - ecpg memory leak fixes (Stephen Birch) - Fix for SELECT null::text, SELECT int4fac(null) and SELECT 2 + (null) (Tom) - Y2K timestamp fix (Massimo) - Fix for VACUUM 'HEAP_MOVED_IN was not expected' errors (Tom) - Fix for views with tables/columns containing spaces (Tom) - Prevent permissions on indexes (Peter E) - Fix for spinlock stuck problem when error is generated (Hiroshi) - Fix ipcclean on Linux - Fix handling of NULL constraint conditions (Tom) - Fix memory leak in odbc driver (Nick Gorham) - Fix for permission check on UNION tables (Tom) - Fix to allow SELECT 'a' LIKE 'a' (Tom) - Fix for SELECT 1 + NULL (Tom) - Fixes to CHAR - Fix log() on numeric type (Tom) - Deprecate ':' and ';' operators - Allow vacuum of temporary tables - Disallow inherited columns with the same name as new columns - Recover or force failure when disk space is exhausted (Hiroshi) - Fix INSERT INTO ... SELECT with AS columns matching result columns - Fix INSERT ... SELECT ... GROUP BY groups by target columns not source columns (Tom) - Fix CREATE TABLE test (a char(5) DEFAULT text '', b int4) with INSERT (Tom) - Fix UNION with LIMIT - Fix CREATE TABLE x AS SELECT 1 UNION SELECT 2 - Fix CREATE TABLE test(col char(2) DEFAULT user) - Fix mismatched types in CREATE TABLE ... DEFAULT - Fix SELECT * FROM pg_class where oid in (0,-1) - Fix SELECT COUNT('asdf') FROM pg_class WHERE oid=12 - Prevent user who can create databases can modifying pg_database table (Peter E) - Fix btree to give a useful elog when key > 1/2 (page - overhead) (Tom) - Fix INSERT of 0.0 into DECIMAL(4,4) field (Tom) - - Enhancements - ------------ - New CLI interface include file sqlcli.h, based on SQL3/SQL98 - Remove all limits on query length, row length limit still exists (Tom) - Update jdbc protocol to 2.0 (Jens Glaser ) - Add TRUNCATE command to quickly truncate relation (Mike Mascari) - Fix to give super user and createdb user proper update catalog rights (Peter E) - Allow ecpg bool variables to have NULL values (Christof) - Issue ecpg error if NULL value for variable with no NULL indicator (Christof) - Allow ^C to cancel COPY command (Massimo) - Add SET FSYNC and SHOW PG_OPTIONS commands(Massimo) - Function name overloading for dynamically-loaded C functions (Frankpitt) - Add CmdTuples() to libpq++(Vince) - New CREATE CONSTRAINT TRIGGER and SET CONSTRAINTS commands(Jan) - Allow CREATE FUNCTION/WITH clause to be used for all language types - configure --enable-debug adds -g (Peter E) - configure --disable-debug removes -g (Peter E) - Allow more complex default expressions (Tom) - First real FOREIGN KEY constraint trigger functionality (Jan) - Add FOREIGN KEY ... MATCH FULL ... ON DELETE CASCADE (Jan) - Add FOREIGN KEY ... MATCH referential actions (Don Baccus) - Allow WHERE restriction on ctid (physical heap location) (Hiroshi) - Move pginterface from contrib to interface directory, rename to pgeasy (Bruce) - Change pgeasy connectdb() parameter ordering (Bruce) - Require SELECT DISTINCT target list to have all ORDER BY columns (Tom) - Add Oracle's COMMENT ON command (Mike Mascari ) - libpq's PQsetNoticeProcessor function now returns previous hook(Peter E) - Prevent PQsetNoticeProcessor from being set to NULL (Peter E) - Make USING in COPY optional (Bruce) - Allow subselects in the target list (Tom) - Allow subselects on the left side of comparison operators (Tom) - New parallel regression test (Jan) - Change backend-side COPY to write files with permissions 644 not 666 (Tom) - Force permissions on PGDATA directory to be secure, even if it exists (Tom) - Added psql LASTOID variable to return last inserted oid (Peter E) - Allow concurrent vacuum and remove pg_vlock vacuum lock file (Tom) - Add permissions check for vacuum (Peter E) - New libpq functions to allow asynchronous connections: PQconnectStart(), - PQconnectPoll(), PQresetStart(), PQresetPoll(), PQsetenvStart(), - PQsetenvPoll(), PQsetenvAbort (Ewan Mellor) - New libpq PQsetenv() function (Ewan Mellor) - create/alter user extension (Peter E) - New postmaster.pid and postmaster.opts under $PGDATA (Tatsuo) - New scripts for create/drop user/db (Peter E) - Major psql overhaul (Peter E) - Add const to libpq interface (Peter E) - New libpq function PQoidValue (Peter E) - Show specific non-aggregate causing problem with GROUP BY (Tom) - Make changes to pg_shadow recreate pg_pwd file (Peter E) - Add aggregate(DISTINCT ...) (Tom) - Allow flag to control COPY input/output of NULLs (Peter E) - Make postgres user have a password by default (Peter E) - Add CREATE/ALTER/DROP GROUP (Peter E) - All administration scripts now support --long options (Peter E, Karel) - Vacuumdb script now supports --all option (Peter E) - ecpg new portable FETCH syntax - Add ecpg EXEC SQL IFDEF, EXEC SQL IFNDEF, EXEC SQL ELSE, EXEC SQL ELIF - and EXEC SQL ENDIF directives - Add pg_ctl script to control backend start-up (Tatsuo) - Add postmaster.opts.default file to store start-up flags (Tatsuo) - Allow --with-mb=SQL_ASCII - Increase maximum number of index keys to 16 (Bruce) - Increase maximum number of function arguments to 16 (Bruce) - Allow configuration of maximum number of index keys and arguments (Bruce) - Allow unprivileged users to change their passwords (Peter E) - Password authentication enabled; required for new users (Peter E) - Disallow dropping a user who owns a database (Peter E) - Change initdb option --with-mb to --enable-multibyte - Add option for initdb to prompts for superuser password (Peter E) - Allow complex type casts like col::numeric(9,2) and col::int2::float8 (Tom) - Updated user interfaces on initdb, initlocation, pg_dump, ipcclean (Peter E) - New pg_char_to_encoding() and pg_encoding_to_char() functions (Tatsuo) - Libpq non-blocking mode (Alfred Perlstein) - Improve conversion of types in casts that don't specify a length - New plperl internal programming language (Mark Hollomon) - Allow COPY IN to read file that do not end with a newline (Tom) - Indicate when long identifiers are truncated (Tom) - Allow aggregates to use type equivalency (Peter E) - Add Oracle's to_char(), to_date(), to_datetime(), to_timestamp(), to_number() - conversion functions (Karel Zak ) - Add SELECT DISTINCT ON (expr [, expr ...]) targetlist ... (Tom) - Check to be sure ORDER BY is compatible with the DISTINCT operation (Tom) - Add NUMERIC and int8 types to ODBC - Improve EXPLAIN results for Append, Group, Agg, Unique (Tom) - Add ALTER TABLE ... ADD FOREIGN KEY (Stephan Szabo) - Allow SELECT .. FOR UPDATE in PL/pgSQL (Hiroshi) - Enable backward sequential scan even after reaching EOF (Hiroshi) - Add btree indexing of boolean values, >= and <= (Don Baccus) - Print current line number when COPY FROM fails (Massimo) - Recognize POSIX time zone e.g. "PST+8" and "GMT-8" (Thomas) - Add DEC as synonym for DECIMAL (Thomas) - Add SESSION_USER as SQL92 keyword, same as CURRENT_USER (Thomas) - Implement SQL92 column aliases (aka correlation names) (Thomas) - Implement SQL92 join syntax (Thomas) - Make INTERVAL reserved word allowed as a column identifier (Thomas) - Implement REINDEX command (Hiroshi) - Accept ALL in aggregate function SUM(ALL col) (Tom) - Prevent GROUP BY from using column aliases (Tom) - New psql \encoding option (Tatsuo) - Allow PQrequestCancel() to terminate when in waiting-for-lock state (Hiroshi) - Allow negation of a negative number in all cases - Add ecpg descriptors (Christof, Michael) - Allow CREATE VIEW v AS SELECT f1::char(8) FROM tbl - Allow casts with length, like foo::char(8) - New libpq functions PQsetClientEncoding(), PQclientEncoding() (Tatsuo) - Add support for SJIS user defined characters (Tatsuo) - Larger views/rules supported - Make libpq's PQconndefaults() thread-safe (Tom) - Disable // as comment to be ANSI conforming, should use -- (Tom) - Allow column aliases on views CREATE VIEW name (collist) - Fixes for views with subqueries (Tom) - Allow UPDATE table SET fld = (SELECT ...) (Tom) - SET command options no longer require quotes - Update pgaccess to 0.98.6 - New SET SEED command - New pg_options.sample file - New SET FSYNC command (Massimo) - Allow pg_descriptions when creating tables - Allow pg_descriptions when creating types, columns, and functions - Allow psql \copy to allow delimiters (Peter E) - Allow psql to print nulls as distinct from "" [null] (Peter E) - - Types - ----- - Many array fixes (Tom) - Allow bare column names to be subscripted as arrays (Tom) - Improve type casting of int and float constants (Tom) - Cleanups for int8 inputs, range checking, and type conversion (Tom) - Fix for SELECT timespan('21:11:26'::time) (Tom) - netmask('x.x.x.x/0') is 255.255.255.255 instead of 0.0.0.0 (Oleg Sharoiko) - Add btree index on NUMERIC (Jan) - Perl fix for large objects containing NUL characters (Douglas Thomson) - ODBC fix for for large objects (free) - Fix indexing of cidr data type - Fix for Ethernet MAC addresses (macaddr type) comparisons - Fix for date/time types when overflows happened in computations (Tom) - Allow array on int8 (Peter E) - Fix for rounding/overflow of NUMERIC type, like NUMERIC(4,4) (Tom) - Allow NUMERIC arrays - Fix bugs in NUMERIC ceil() and floor() functions (Tom) - Make char_length()/octet_length including trailing blanks (Tom) - Made abstime/reltime use int4 instead of time_t (Peter E) - New lztext data type for compressed text fields - Revise code to handle coercion of int and float constants (Tom) - Start at new code to implement a BIT and BIT VARYING type (Adriaan Joubert) - NUMERIC now accepts scientific notation (Tom) - NUMERIC to int4 rounds (Tom) - Convert float4/8 to NUMERIC properly (Tom) - Allow type conversion with NUMERIC (Thomas) - Make ISO date style (2000-02-16 09:33) the default (Thomas) - Add NATIONAL CHAR [ VARYING ] (Thomas) - Allow NUMERIC round and trunc to accept negative scales (Tom) - New TIME WITH TIME ZONE type (Thomas) - Add MAX()/MIN() on time type (Thomas) - Add abs(), mod(), fac() for int8 (Thomas) - Rename functions to round(), sqrt(), cbrt(), pow() for float8 (Thomas) - Add transcendental math functions (e.g. sin(), acos()) for float8 (Thomas) - Add exp() and ln() for NUMERIC type - Rename NUMERIC power() to pow() (Thomas) - Improved TRANSLATE() function (Edwin Ramirez, Tom) - Allow X=-Y operators (Tom) - Allow SELECT float8(COUNT(*))/(SELECT COUNT(*) FROM t) FROM t GROUP BY f1; (Tom) - Allow LOCALE to use indexes in regular expression searches (Tom) - Allow creation of functional indexes to use default types - - Performance - ----------- - Prevent exponential space consumption with many AND's and OR's (Tom) - Collect attribute selectivity values for system columns (Tom) - Reduce memory usage of aggregates (Tom) - Fix for LIKE optimization to use indexes with multibyte encodings (Tom) - Fix r-tree index optimizer selectivity (Thomas) - Improve optimizer selectivity computations and functions (Tom) - Optimize btree searching for cases where many equal keys exist (Tom) - Enable fast LIKE index processing only if index present (Tom) - Re-use free space on index pages with duplicates (Tom) - Improve hash join processing (Tom) - Prevent descending sort if result is already sorted(Hiroshi) - Allow commuting of index scan query qualifications (Tom) - Prefer index scans in cases where ORDER BY/GROUP BY is required (Tom) - Allocate large memory requests in fix-sized chunks for performance (Tom) - Fix vacuum's performance by reducing memory allocation requests (Tom) - Implement constant-expression simplification (Bernard Frankpitt, Tom) - Use secondary columns to be used to determine start of index scan (Hiroshi) - Prevent quadruple use of disk space when doing internal sorting (Tom) - Faster sorting by calling fewer functions (Tom) - Create system indexes to match all system caches (Bruce, Hiroshi) - Make system caches use system indexes (Bruce) - Make all system indexes unique (Bruce) - Improve pg_statistics management for VACUUM speed improvement (Tom) - Flush backend cache less frequently (Tom, Hiroshi) - COPY now reuses previous memory allocation, improving performance (Tom) - Improve optimization cost estimation (Tom) - Improve optimizer estimate of range queries x > lowbound AND x < highbound (Tom) - Use DNF instead of CNF where appropriate (Tom, Taral) - Further cleanup for OR-of-AND WHERE-clauses (Tom) - Make use of index in OR clauses (x = 1 AND y = 2) OR (x = 2 AND y = 4) (Tom) - Smarter optimizer computations for random index page access (Tom) - New SET variable to control optimizer costs (Tom) - Optimizer queries based on LIMIT, OFFSET, and EXISTS qualifications (Tom) - Reduce optimizer internal housekeeping of join paths for speedup (Tom) - Major subquery speedup (Tom) - Fewer fsync writes when fsync is not disabled (Tom) - Improved LIKE optimizer estimates (Tom) - Prevent fsync in SELECT-only queries (Vadim) - Make index creation use psort code, because it is now faster (Tom) - Allow creation of sort temp tables > 1 Gig - - Source Tree Changes - ------------------- - Fix for linux PPC compile - New generic expression-tree-walker subroutine (Tom) - Change form() to varargform() to prevent portability problems - Improved range checking for large integers on Alphas - Clean up #include in /include directory (Bruce) - Add scripts for checking includes (Bruce) - Remove un-needed #include's from *.c files (Bruce) - Change #include's to use <> and "" as appropriate (Bruce) - Enable WIN32 compilation of libpq - Alpha spinlock fix from Uncle George - Overhaul of optimizer data structures (Tom) - Fix to cygipc library (Yutaka Tanida) - Allow pgsql to work on newer Cygwin snapshots (Dan) - New catalog version number (Tom) - Add Linux ARM - Rename heap_replace to heap_update - Update for QNX (Dr. Andreas Kardos) - New platform-specific regression handling (Tom) - Rename oid8 -> oidvector and int28 -> int2vector (Bruce) - Included all yacc and lex files into the distribution (Peter E.) - Remove lextest, no longer needed (Peter E) - Fix for libpq and psql on Win32 (Magnus) - Internally change datetime and timespan into timestamp and interval (Thomas) - Fix for plpgsql on BSDI - Add SQL_ASCII test case to the regression test (Tatsuo) - configure --with-mb now deprecated (Tatsuo) - NT fixes - NetBSD fixes (Johnny C. Lam ) - Fixes for Alpha compiles - New multibyte encodings - - - ---------------------------------------------------------------------- - - Release 6.5.3 - - Release date: 1999-10-13 - - This is basically a cleanup release for 6.5.2. We have added a new - PgAccess that was missing in 6.5.2, and installed an NT-specific fix. - - ---------------------------------------------------------------------- - -Migration to version 6.5.3 - - A dump/restore is *not* required for those running 6.5.*. - - ---------------------------------------------------------------------- - -Changes - - Updated version of pgaccess 0.98 - NT-specific patch - Fix dumping rules on inherited tables - - - ---------------------------------------------------------------------- - - Release 6.5.2 - - Release date: 1999-09-15 - - This is basically a cleanup release for 6.5.1. We have fixed a variety of - problems reported by 6.5.1 users. - - ---------------------------------------------------------------------- - -Migration to version 6.5.2 - - A dump/restore is *not* required for those running 6.5.*. - - ---------------------------------------------------------------------- - -Changes - - subselect+CASE fixes(Tom) - Add SHLIB_LINK setting for solaris_i386 and solaris_sparc ports(Daren Sefcik) - Fixes for CASE in WHERE join clauses(Tom) - Fix BTScan abort(Tom) - Repair the check for redundant UNIQUE and PRIMARY KEY indexes(Thomas) - Improve it so that it checks for multi-column constraints(Thomas) - Fix for Win32 making problem with MB enabled(Hiroki Kataoka) - Allow BSD yacc and bison to compile pl code(Bruce) - Fix SET NAMES working - int8 fixes(Thomas) - Fix vacuum's memory consumption(Hiroshi,Tatsuo) - Reduce the total memory consumption of vacuum(Tom) - Fix for timestamp(datetime) - Rule deparsing bugfixes(Tom) - Fix quoting problems in mkMakefile.tcldefs.sh.in and mkMakefile.tkdefs.sh.in(Tom) - This is to re-use space on index pages freed by vacuum(Vadim) - document -x for pg_dump(Bruce) - Fix for unary operators in rule deparser(Tom) - Comment out FileUnlink of excess segments during mdtruncate()(Tom) - Irix linking fix from Yu Cao >yucao@falcon.kla-tencor.com< - Repair logic error in LIKE: should not return LIKE_ABORT - when reach end of pattern before end of text(Tom) - Repair incorrect cleanup of heap memory allocation during transaction abort(Tom) - Updated version of pgaccess 0.98 - - - ---------------------------------------------------------------------- - - Release 6.5.1 - - Release date: 1999-07-15 - - This is basically a cleanup release for 6.5. We have fixed a variety of - problems reported by 6.5 users. - - ---------------------------------------------------------------------- - -Migration to version 6.5.1 - - A dump/restore is *not* required for those running 6.5. - - ---------------------------------------------------------------------- - -Changes - - Add NT README file - Portability fixes for linux_ppc, Irix, linux_alpha, OpenBSD, alpha - Remove QUERY_LIMIT, use SELECT...LIMIT - Fix for EXPLAIN on inheritance(Tom) - Patch to allow vacuum on multi-segment tables(Hiroshi) - R-Tree optimizer selectivity fix(Tom) - ACL file descriptor leak fix(Atsushi Ogawa) - New expresssion subtree code(Tom) - Avoid disk writes for read-only transactions(Vadim) - Fix for removal of temp tables if last transaction was aborted(Bruce) - Fix to prevent too large tuple from being created(Bruce) - plpgsql fixes - Allow port numbers 32k - 64k(Bruce) - Add ^ precidence(Bruce) - Rename sort files called pg_temp to pg_sorttemp(Bruce) - Fix for microseconds in time values(Tom) - Tutorial source cleanup - New linux_m68k port - Fix for sorting of NULL's in some cases(Tom) - Shared library dependencies fixed (Tom) - Fixed glitches affecting GROUP BY in subselects(Tom) - Fix some compiler warnings (Tomoaki Nishiyama) - Add Win1250 (Czech) support (Pavel Behal) - - - ---------------------------------------------------------------------- - - Release 6.5 - - Release date: 1999-06-09 - - This release marks a major step in the development team's mastery of the - source code we inherited from Berkeley. You will see we are now easily - adding major features, thanks to the increasing size and experience of our - world-wide development team. - - Here is a brief summary of the more notable changes: - - Multi-version concurrency control(MVCC) - - This removes our old table-level locking, and replaces it with a - locking system that is superior to most commercial database - systems. In a traditional system, each row that is modified is - locked until committed, preventing reads by other users. MVCC uses - the natural multi-version nature of PostgreSQL to allow readers to - continue reading consistent data during writer activity. Writers - continue to use the compact pg_log transaction system. This is all - performed without having to allocate a lock for every row like - traditional database systems. So, basically, we no longer are - restricted by simple table-level locking; we have something better - than row-level locking. - - Hot backups from pg_dump - - pg_dump takes advantage of the new MVCC features to give a - consistent database dump/backup while the database stays online - and available for queries. - - Numeric data type - - We now have a true numeric data type, with user-specified - precision. - - Temporary tables - - Temporary tables are guaranteed to have unique names within a - database session, and are destroyed on session exit. - - New SQL features - - We now have CASE, INTERSECT, and EXCEPT statement support. We have - new LIMIT/OFFSET, SET TRANSACTION ISOLATION LEVEL, SELECT ... FOR - UPDATE, and an improved LOCK TABLE command. - - Speedups - - We continue to speed up PostgreSQL, thanks to the variety of - talents within our team. We have sped up memory allocation, - optimization, table joins, and row transfer routines. - - Ports - - We continue to expand our port list, this time including Windows - NT/ix86 and NetBSD/arm32. - - Interfaces - - Most interfaces have new versions, and existing functionality has - been improved. - - Documentation - - New and updated material is present throughout the documentation. - New FAQs have been contributed for SGI and AIX platforms. The - Tutorial has introductory information on SQL from Stefan - Simkovics. For the User's Guide, there are reference pages - covering the postmaster and more utility programs, and a new - appendix contains details on date/time behavior. The - Administrator's Guide has a new chapter on troubleshooting from - Tom Lane. And the Programmer's Guide has a description of query - processing, also from Stefan, and details on obtaining the - PostgreSQL source tree via anonymous CVS and CVSup. - - ---------------------------------------------------------------------- - -Migration to version 6.5 - - A dump/restore using pg_dump is required for those wishing to migrate data - from any previous release of PostgreSQL. pg_upgrade can *not* be used to - upgrade to this release because the on-disk structure of the tables has - changed compared to previous releases. - - The new Multi-Version Concurrency Control (MVCC) features can give - somewhat different behaviors in multi-user environments. *Read and - understand the following section to ensure that your existing applications - will give you the behavior you need.* - - ---------------------------------------------------------------------- - - Multi-Version Concurrency Control - - Because readers in 6.5 don't lock data, regardless of transaction - isolation level, data read by one transaction can be overwritten by - another. In other words, if a row is returned by "SELECT" it doesn't mean - that this row really exists at the time it is returned (i.e. sometime - after the statement or transaction began) nor that the row is protected - from being deleted or updated by concurrent transactions before the - current transaction does a commit or rollback. - - To ensure the actual existence of a row and protect it against concurrent - updates one must use "SELECT FOR UPDATE" or an appropriate "LOCK TABLE" - statement. This should be taken into account when porting applications - from previous releases of PostgreSQL and other environments. - - Keep the above in mind if you are using "contrib/refint.*" triggers for - referential integrity. Additional techniques are required now. One way is - to use "LOCK parent_table IN SHARE ROW EXCLUSIVE MODE" command if a - transaction is going to update/delete a primary key and use "LOCK - parent_table IN SHARE MODE" command if a transaction is going to - update/insert a foreign key. - - Note: Note that if you run a transaction in SERIALIZABLE mode then you - must execute the "LOCK" commands above before execution of any DML - statement ("SELECT/INSERT/DELETE/UPDATE/FETCH/COPY_TO") in the - transaction. - - These inconveniences will disappear in the future when the ability to read - dirty (uncommitted) data (regardless of isolation level) and true - referential integrity will be implemented. - - ---------------------------------------------------------------------- - -Changes - - Bug Fixes - --------- - Fix text<->float8 and text<->float4 conversion functions(Thomas) - Fix for creating tables with mixed-case constraints(Billy) - Change exp()/pow() behavior to generate error on underflow/overflow(Jan) - Fix bug in pg_dump -z - Memory overrun cleanups(Tatsuo) - Fix for lo_import crash(Tatsuo) - Adjust handling of data type names to suppress double quotes(Thomas) - Use type coercion for matching columns and DEFAULT(Thomas) - Fix deadlock so it only checks once after one second of sleep(Bruce) - Fixes for aggregates and PL/pgsql(Hiroshi) - Fix for subquery crash(Vadim) - Fix for libpq function PQfnumber and case-insensitive names(Bahman Rafatjoo) - Fix for large object write-in-middle, no extra block, memory consumption(Tatsuo) - Fix for pg_dump -d or -D and quote special characters in INSERT - Repair serious problems with dynahash(Tom) - Fix INET/CIDR portability problems - Fix problem with selectivity error in ALTER TABLE ADD COLUMN(Bruce) - Fix executor so mergejoin of different column types works(Tom) - Fix for Alpha OR selectivity bug - Fix OR index selectivity problem(Bruce) - Fix so \d shows proper length for char()/varchar()(Ryan) - Fix tutorial code(Clark) - Improve destroyuser checking(Oliver) - Fix for Kerberos(Rodney McDuff) - Fix for dropping database while dirty buffers(Bruce) - Fix so sequence nextval() can be case-sensitive(Bruce) - Fix !!= operator - Drop buffers before destroying database files(Bruce) - Fix case where executor evaluates functions twice(Tatsuo) - Allow sequence nextval actions to be case-sensitive(Bruce) - Fix optimizer indexing not working for negative numbers(Bruce) - Fix for memory leak in executor with fjIsNull - Fix for aggregate memory leaks(Erik Riedel) - Allow username containing a dash GRANT permissions - Cleanup of NULL in inet types - Clean up system table bugs(Tom) - Fix problems of PAGER and \? command(Masaaki Sakaida) - Reduce default multi-segment file size limit to 1GB(Peter) - Fix for dumping of CREATE OPERATOR(Tom) - Fix for backward scanning of cursors(Hiroshi Inoue) - Fix for COPY FROM STDIN when using \i(Tom) - Fix for subselect is compared inside an expression(Jan) - Fix handling of error reporting while returning rows(Tom) - Fix problems with reference to array types(Tom,Jan) - Prevent UPDATE SET oid(Jan) - Fix pg_dump so -t option can handle case-sensitive tablenames - Fixes for GROUP BY in special cases(Tom, Jan) - Fix for memory leak in failed queries(Tom) - DEFAULT now supports mixed-case identifiers(Tom) - Fix for multi-segment uses of DROP/RENAME table, indexes(Ole Gjerde) - Disable use of pg_dump with both -o and -d options(Bruce) - Allow pg_dump to properly dump GROUP permissions(Bruce) - Fix GROUP BY in INSERT INTO table SELECT * FROM table2(Jan) - Fix for computations in views(Jan) - Fix for aggregates on array indexes(Tom) - Fix for DEFAULT handles single quotes in value requiring too many quotes - Fix security problem with non-super users importing/exporting large objects(Tom) - Rollback of transaction that creates table cleaned up properly(Tom) - Fix to allow long table and column names to generate proper serial names(Tom) - - Enhancements - ------------ - Add "vacuumdb" utility - Speed up libpq by allocating memory better(Tom) - EXPLAIN all indexes used(Tom) - Implement CASE, COALESCE, NULLIF expression(Thomas) - New pg_dump table output format(Constantin) - Add string min()/max() functions(Thomas) - Extend new type coercion techniques to aggregates(Thomas) - New moddatetime contrib(Terry) - Update to pgaccess 0.96(Constantin) - Add routines for single-byte "char" type(Thomas) - Improved substr() function(Thomas) - Improved multibyte handling(Tatsuo) - Multi-version concurrency control/MVCC(Vadim) - New Serialized mode(Vadim) - Fix for tables over 2gigs(Peter) - New SET TRANSACTION ISOLATION LEVEL(Vadim) - New LOCK TABLE IN ... MODE(Vadim) - Update ODBC driver(Byron) - New NUMERIC data type(Jan) - New SELECT FOR UPDATE(Vadim) - Handle "NaN" and "Infinity" for input values(Jan) - Improved date/year handling(Thomas) - Improved handling of backend connections(Magnus) - New options ELOG_TIMESTAMPS and USE_SYSLOG options for log files(Massimo) - New TCL_ARRAYS option(Massimo) - New INTERSECT and EXCEPT(Stefan) - New pg_index.indisprimary for primary key tracking(D'Arcy) - New pg_dump option to allow dropping of tables before creation(Brook) - Speedup of row output routines(Tom) - New READ COMMITTED isolation level(Vadim) - New TEMP tables/indexes(Bruce) - Prevent sorting if result is already sorted(Jan) - New memory allocation optimization(Jan) - Allow psql to do \p\g(Bruce) - Allow multiple rule actions(Jan) - Added LIMIT/OFFSET functionality(Jan) - Improve optimizer when joining a large number of tables(Bruce) - New intro to SQL from S. Simkovics' Master's Thesis (Stefan, Thomas) - New intro to backend processing from S. Simkovics' Master's Thesis (Stefan) - Improved int8 support(Ryan Bradetich, Thomas, Tom) - New routines to convert between int8 and text/varchar types(Thomas) - New bushy plans, where meta-tables are joined(Bruce) - Enable right-hand queries by default(Bruce) - Allow reliable maximum number of backends to be set at configure time - (--with-maxbackends and postmaster switch (-N backends))(Tom) - GEQO default now 10 tables because of optimizer speedups(Tom) - Allow NULL=Var for MS-SQL portability(Michael, Bruce) - Modify contrib check_primary_key() so either "automatic" or "dependent"(Anand) - Allow psql \d on a view show query(Ryan) - Speedup for LIKE(Bruce) - Ecpg fixes/features, see src/interfaces/ecpg/ChangeLog file(Michael) - JDBC fixes/features, see src/interfaces/jdbc/CHANGELOG(Peter) - Make % operator have precedence like /(Bruce) - Add new postgres -O option to allow system table structure changes(Bruce) - Update contrib/pginterface/findoidjoins script(Tom) - Major speedup in vacuum of deleted rows with indexes(Vadim) - Allow non-SQL functions to run different versions based on arguments(Tom) - Add -E option that shows actual queries sent by \dt and friends(Masaaki Sakaida) - Add version number in start-up banners for psql(Masaaki Sakaida) - New contrib/vacuumlo removes large objects not referenced(Peter) - New initialization for table sizes so non-vacuumed tables perform better(Tom) - Improve error messages when a connection is rejected(Tom) - Support for arrays of char() and varchar() fields(Massimo) - Overhaul of hash code to increase reliability and performance(Tom) - Update to PyGreSQL 2.4(D'Arcy) - Changed debug options so -d4 and -d5 produce different node displays(Jan) - New pg_options: pretty_plan, pretty_parse, pretty_rewritten(Jan) - Better optimization statistics for system table access(Tom) - Better handling of non-default block sizes(Massimo) - Improve GEQO optimizer memory consumption(Tom) - UNION now suppports ORDER BY of columns not in target list(Jan) - Major libpq++ improvements(Vince Vielhaber) - pg_dump now uses -z(ACL's) as default(Bruce) - backend cache, memory speedups(Tom) - have pg_dump do everything in one snapshot transaction(Vadim) - fix for large object memory leakage, fix for pg_dumping(Tom) - INET type now respects netmask for comparisons - Make VACUUM ANALYZE only use a readlock(Vadim) - Allow VIEWs on UNIONS(Jan) - pg_dump now can generate consistent snapshots on active databases(Vadim) - - Source Tree Changes - ------------------- - Improve port matching(Tom) - Portability fixes for SunOS - Add NT/Win32 backend port and enable dynamic loading(Magnus and Daniel Horak) - New port to Cobalt Qube(Mips) running Linux(Tatsuo) - Port to NetBSD/m68k(Mr. Mutsuki Nakajima) - Port to NetBSD/sun3(Mr. Mutsuki Nakajima) - Port to NetBSD/macppc(Toshimi Aoki) - Fix for tcl/tk configuration(Vince) - Removed CURRENT keyword for rule queries(Jan) - NT dynamic loading now works(Daniel Horak) - Add ARM32 support(Andrew McMurry) - Better support for HPUX 11 and Unixware - Improve file handling to be more uniform, prevent file descriptor leak(Tom) - New install commands for plpgsql(Jan) - - - ---------------------------------------------------------------------- - - Release 6.4.2 - - Release date: 1998-12-20 - - The 6.4.1 release was improperly packaged. This also has one additional - bug fix. - - ---------------------------------------------------------------------- - -Migration to version 6.4.2 - - A dump/restore is *not* required for those running 6.4.*. - - ---------------------------------------------------------------------- - -Changes - - Fix for datetime constant problem on some platforms(Thomas) - - ---------------------------------------------------------------------- - - Release 6.4.1 - - Release date: 1998-12-18 - - This is basically a cleanup release for 6.4. We have fixed a variety of - problems reported by 6.4 users. - - ---------------------------------------------------------------------- - -Migration to version 6.4.1 - - A dump/restore is *not* required for those running 6.4. - - ---------------------------------------------------------------------- - -Changes - - Add pg_dump -N flag to force double quotes around identifiers. This is - the default(Thomas) - Fix for NOT in where clause causing crash(Bruce) - EXPLAIN VERBOSE coredump fix(Vadim) - Fix shared-library problems on Linux - Fix test for table existance to allow mixed-case and whitespace in - the table name(Thomas) - Fix a couple of pg_dump bugs - Configure matches template/.similar entries better(Tom) - Change builtin function names from SPI_* to spi_* - OR WHERE clause fix(Vadim) - Fixes for mixed-case table names(Billy) - contrib/linux/postgres.init.csh/sh fix(Thomas) - libpq memory overrun fix - SunOS fixes(Tom) - Change exp() behavior to generate error on underflow(Thomas) - pg_dump fixes for memory leak, inheritance constraints, layout change - update pgaccess to 0.93 - Fix prototype for 64-bit platforms - Multibyte fixes(Tatsuo) - New ecpg man page - Fix memory overruns(Tatsuo) - Fix for lo_import() crash(Bruce) - Better search for install program(Tom) - Timezone fixes(Tom) - HPUX fixes(Tom) - Use implicit type coercion for matching DEFAULT values(Thomas) - Add routines to help with single-byte (internal) character type(Thomas) - Compilation of libpq for Win32 fixes(Magnus) - Upgrade to PyGreSQL 2.2(D'Arcy) - - ---------------------------------------------------------------------- - - Release 6.4 - - Release date: 1998-10-30 - - There are *many* new features and improvements in this release. Thanks to - our developers and maintainers, nearly every aspect of the system has - received some attention since the previous release. Here is a brief, - incomplete summary: - - * Views and rules are now functional thanks to extensive new code in the - rewrite rules system from Jan Wieck. He also wrote a chapter on it for - the Programmer's Guide. - - * Jan also contributed a second procedural language, PL/pgSQL, to go - with the original PL/pgTCL procedural language he contributed last - release. - - * We have optional multiple-byte character set support from Tatsuo Iishi - to complement our existing locale support. - - * Client/server communications has been cleaned up, with better support - for asynchronous messages and interrupts thanks to Tom Lane. - - * The parser will now perform automatic type coercion to match arguments - to available operators and functions, and to match columns and - expressions with target columns. This uses a generic mechanism which - supports the type extensibility features of PostgreSQL. There is a new - chapter in the User's Guide which covers this topic. - - * Three new data types have been added. Two types, inet and cidr, - support various forms of IP network, subnet, and machine addressing. - There is now an 8-byte integer type available on some platforms. See - the chapter on data types in the User's Guide for details. A fourth - type, serial, is now supported by the parser as an amalgam of the int4 - type, a sequence, and a unique index. - - * Several more SQL92-compatible syntax features have been added, - including "INSERT DEFAULT VALUES" - - * The automatic configuration and installation system has received some - attention, and should be more robust for more platforms than it has - ever been. - - ---------------------------------------------------------------------- - -Migration to version 6.4 - - A dump/restore using pg_dump or pg_dumpall is required for those wishing - to migrate data from any previous release of PostgreSQL. - - ---------------------------------------------------------------------- - -Changes - - Bug Fixes - --------- - Fix for a tiny memory leak in PQsetdb/PQfinish(Bryan) - Remove char2-16 data types, use char/varchar(Darren) - Pqfn not handles a NOTICE message(Anders) - Reduced busywaiting overhead for spinlocks with many backends (dg) - Stuck spinlock detection (dg) - Fix up "ISO-style" timespan decoding and encoding(Thomas) - Fix problem with table drop after rollback of transaction(Vadim) - Change error message and remove non-functional update message(Vadim) - Fix for COPY array checking - Fix for SELECT 1 UNION SELECT NULL - Fix for buffer leaks in large object calls(Pascal) - Change owner from oid to int4 type(Bruce) - Fix a bug in the oracle compatibility functions btrim() ltrim() and rtrim() - Fix for shared invalidation cache overflow(Massimo) - Prevent file descriptor leaks in failed COPY's(Bruce) - Fix memory leak in libpgtcl's pg_select(Constantin) - Fix problems with username/passwords over 8 characters(Tom) - Fix problems with handling of asynchronous NOTIFY in backend(Tom) - Fix of many bad system table entries(Tom) - - Enhancements - ------------ - Upgrade ecpg and ecpglib,see src/interfaces/ecpc/ChangeLog(Michael) - Show the index used in an EXPLAIN(Zeugswetter) - EXPLAIN invokes rule system and shows plan(s) for rewritten queries(Jan) - Multibyte awareness of many data types and functions, via configure(Tatsuo) - New configure --with-mb option(Tatsuo) - New initdb --pgencoding option(Tatsuo) - New createdb -E multibyte option(Tatsuo) - Select version(); now returns PostgreSQL version(Jeroen) - Libpq now allows asynchronous clients(Tom) - Allow cancel from client of backend query(Tom) - Psql now cancels query with Control-C(Tom) - Libpq users need not issue dummy queries to get NOTIFY messages(Tom) - NOTIFY now sends sender's PID, so you can tell whether it was your own(Tom) - PGresult struct now includes associated error message, if any(Tom) - Define "tz_hour" and "tz_minute" arguments to date_part()(Thomas) - Add routines to convert between varchar and bpchar(Thomas) - Add routines to allow sizing of varchar and bpchar into target columns(Thomas) - Add bit flags to support timezonehour and minute in data retrieval(Thomas) - Allow more variations on valid floating point numbers (e.g. ".1", "1e6")(Thomas) - Fixes for unary minus parsing with leading spaces(Thomas) - Implement TIMEZONE_HOUR, TIMEZONE_MINUTE per SQL92 specs(Thomas) - Check for and properly ignore FOREIGN KEY column constraints(Thomas) - Define USER as synonym for CURRENT_USER per SQL92 specs(Thomas) - Enable HAVING clause but no fixes elsewhere yet. - Make "char" type a synonym for "char(1)" (actually implemented as bpchar)(Thomas) - Save string type if specified for DEFAULT clause handling(Thomas) - Coerce operations involving different data types(Thomas) - Allow some index use for columns of different types(Thomas) - Add capabilities for automatic type conversion(Thomas) - Cleanups for large objects, so file is truncated on open(Peter) - Readline cleanups(Tom) - Allow psql \f \ to make spaces as delimiter(Bruce) - Pass pg_attribute.atttypmod to the frontend for column field lengths(Tom,Bruce) - Msql compatibility library in /contrib(Aldrin) - Remove the requirement that ORDER/GROUP BY clause identifiers be - included in the target list(David) - Convert columns to match columns in UNION clauses(Thomas) - Remove fork()/exec() and only do fork()(Bruce) - Jdbc cleanups(Peter) - Show backend status on ps command line(only works on some platforms)(Bruce) - Pg_hba.conf now has a sameuser option in the database field - Make lo_unlink take oid param, not int4 - New DISABLE_COMPLEX_MACRO for compilers that can't handle our macros(Bruce) - Libpgtcl now handles NOTIFY as a Tcl event, need not send dummy queries(Tom) - libpgtcl cleanups(Tom) - Add -error option to libpgtcl's pg_result command(Tom) - New locale patch, see docs/README/locale(Oleg) - Fix for pg_dump so CONSTRAINT and CHECK syntax is correct(ccb) - New contrib/lo code for large object orphan removal(Peter) - New psql command "SET CLIENT_ENCODING TO 'encoding'" for multibytes - feature, see /doc/README.mb(Tatsuo) - /contrib/noupdate code to revoke update permission on a column - Libpq can now be compiled on win32(Magnus) - Add PQsetdbLogin() in libpq - New 8-byte integer type, checked by configure for OS support(Thomas) - Better support for quoted table/column names(Thomas) - Surround table and column names with double-quotes in pg_dump(Thomas) - PQreset() now works with passwords(Tom) - Handle case of GROUP BY target list column number out of range(David) - Allow UNION in subselects - Add auto-size to screen to \d? commands(Bruce) - Use UNION to show all \d? results in one query(Bruce) - Add \d? field search feature(Bruce) - Pg_dump issues fewer \connect requests(Tom) - Make pg_dump -z flag work better, document it in manual page(Tom) - Add HAVING clause with full support for subselects and unions(Stephan) - Full text indexing routines in contrib/fulltextindex(Maarten) - Transaction ids now stored in shared memory(Vadim) - New PGCLIENTENCODING when issuing COPY command(Tatsuo) - Support for SQL92 syntax "SET NAMES"(Tatsuo) - Support for LATIN2-5(Tatsuo) - Add UNICODE regression test case(Tatsuo) - Lock manager cleanup, new locking modes for LLL(Vadim) - Allow index use with OR clauses(Bruce) - Allows "SELECT NULL ORDER BY 1;" - Explain VERBOSE prints the plan, and now pretty-prints the plan to - the postmaster log file(Bruce) - Add indexes display to \d command(Bruce) - Allow GROUP BY on functions(David) - New pg_class.relkind for large objects(Bruce) - New way to send libpq NOTICE messages to a different location(Tom) - New \w write command to psql(Bruce) - New /contrib/findoidjoins scans oid columns to find join relationships(Bruce) - Allow binary-compatible indexes to be considered when checking for valid - Indexes for restriction clauses containing a constant(Thomas) - New ISBN/ISSN code in /contrib/isbn_issn - Allow NOT LIKE, IN, NOT IN, BETWEEN, and NOT BETWEEN constraint(Thomas) - New rewrite system fixes many problems with rules and views(Jan) - * Rules on relations work - * Event qualifications on insert/update/delete work - * New OLD variable to reference CURRENT, CURRENT will be remove in future - * Update rules can reference NEW and OLD in rule qualifications/actions - * Insert/update/delete rules on views work - * Multiple rule actions are now supported, surrounded by parentheses - * Regular users can create views/rules on tables they have RULE permits - * Rules and views inherit the permissions on the creator - * No rules at the column level - * No UPDATE NEW/OLD rules - * New pg_tables, pg_indexes, pg_rules and pg_views system views - * Only a single action on SELECT rules - * Total rewrite overhaul, perhaps for 6.5 - * handle subselects - * handle aggregates on views - * handle insert into select from view works - System indexes are now multi-key(Bruce) - Oidint2, oidint4, and oidname types are removed(Bruce) - Use system cache for more system table lookups(Bruce) - New backend programming language PL/pgSQL in backend/pl(Jan) - New SERIAL data type, auto-creates sequence/index(Thomas) - Enable assert checking without a recompile(Massimo) - User lock enhancements(Massimo) - New setval() command to set sequence value(Massimo) - Auto-remove unix socket file on start-up if no postmaster running(Massimo) - Conditional trace package(Massimo) - New UNLISTEN command(Massimo) - Psql and libpq now compile under win32 using win32.mak(Magnus) - Lo_read no longer stores trailing NULL(Bruce) - Identifiers are now truncated to 31 characters internally(Bruce) - Createuser options now availble on the command line - Code for 64-bit integer supported added, configure tested, int8 type(Thomas) - Prevent file descriptor leaf from failed COPY(Bruce) - New pg_upgrade command(Bruce) - Updated /contrib directories(Massimo) - New CREATE TABLE DEFAULT VALUES statement available(Thomas) - New INSERT INTO TABLE DEFAULT VALUES statement available(Thomas) - New DECLARE and FETCH feature(Thomas) - libpq's internal structures now not exported(Tom) - Allow up to 8 key indexes(Bruce) - Remove ARCHIVE keyword, that is no longer used(Thomas) - pg_dump -n flag to supress quotes around indentifiers - disable system columns for views(Jan) - new INET and CIDR types for network addresses(TomH, Paul) - no more double quotes in psql output - pg_dump now dumps views(Terry) - new SET QUERY_LIMIT(Tatsuo,Jan) - - Source Tree Changes - ------------------- - /contrib cleanup(Jun) - Inline some small functions called for every row(Bruce) - Alpha/linux fixes - Hp/UX cleanups(Tom) - Multibyte regression tests(Soonmyung.) - Remove --disabled options from configure - Define PGDOC to use POSTGRESDIR by default - Make regression optional - Remove extra braces code to pgindent(Bruce) - Add bsdi shared library support(Bruce) - New --without-CXX support configure option(Brook) - New FAQ_CVS - Update backend flowchart in tools/backend(Bruce) - Change atttypmod from int16 to int32(Bruce, Tom) - Getrusage() fix for platforms that do not have it(Tom) - Add PQconnectdb, PGUSER, PGPASSWORD to libpq man page - NS32K platform fixes(Phil Nelson, John Buller) - Sco 7/UnixWare 2.x fixes(Billy,others) - Sparc/Solaris 2.5 fixes(Ryan) - Pgbuiltin.3 is obsolete, move to doc files(Thomas) - Even more documention(Thomas) - Nextstep support(Jacek) - Aix support(David) - pginterface manual page(Bruce) - shared libraries all have version numbers - merged all OS-specific shared library defines into one file - smarter TCL/TK configuration checking(Billy) - smarter perl configuration(Brook) - configure uses supplied install-sh if no install script found(Tom) - new Makefile.shlib for shared library configuration(Tom) - - ---------------------------------------------------------------------- - - Release 6.3.2 - - Release date: 1998-04-07 - - This is a bug-fix release for 6.3.x. Refer to the release notes for - version 6.3 for a more complete summary of new features. - - Summary: - - * Repairs automatic configuration support for some platforms, including - Linux, from breakage inadvertently introduced in version 6.3.1. - - * Correctly handles function calls on the left side of BETWEEN and LIKE - clauses. - - A dump/restore is NOT required for those running 6.3 or 6.3.1. A make - distclean, make, and make install is all that is required. This last step - should be performed while the postmaster is not running. You should - re-link any custom applications that use PostgreSQL libraries. - - For upgrades from pre-6.3 installations, refer to the installation and - migration instructions for version 6.3. - - ---------------------------------------------------------------------- - -Changes - - Configure detection improvements for tcl/tk(Brook Milligan, Alvin) - Manual page improvements(Bruce) - BETWEEN and LIKE fix(Thomas) - fix for psql \connect used by pg_dump(Oliver Elphick) - New odbc driver - pgaccess, version 0.86 - qsort removed, now uses libc version, cleanups(Jeroen) - fix for buffer over-runs detected(Maurice Gittens) - fix for buffer overrun in libpgtcl(Randy Kunkee) - fix for UNION with DISTINCT or ORDER BY(Bruce) - gettimeofday configure check(Doug Winterburn) - Fix "indexes not used" bug(Vadim) - docs additions(Thomas) - Fix for backend memory leak(Bruce) - libreadline cleanup(Erwan MAS) - Remove DISTDIR(Bruce) - Makefile dependency cleanup(Jeroen van Vianen) - ASSERT fixes(Bruce) - - - ---------------------------------------------------------------------- - - Release 6.3.1 - - Release date: 1998-03-23 - - Summary: - - * Additional support for multibyte character sets. - - * Repair byte ordering for mixed-endian clients and servers. - - * Minor updates to allowed SQL syntax. - - * Improvements to the configuration autodetection for installation. - - A dump/restore is NOT required for those running 6.3. A make distclean, - make, and make install is all that is required. This last step should be - performed while the postmaster is not running. You should re-link any - custom applications that use PostgreSQL libraries. - - For upgrades from pre-6.3 installations, refer to the installation and - migration instructions for version 6.3. - - ---------------------------------------------------------------------- - -Changes - - ecpg cleanup/fixes, now version 1.1(Michael Meskes) - pg_user cleanup(Bruce) - large object fix for pg_dump and tclsh (alvin) - LIKE fix for multiple adjacent underscores - fix for redefining builtin functions(Thomas) - ultrix4 cleanup - upgrade to pg_access 0.83 - updated CLUSTER manual page - multibyte character set support, see doc/README.mb(Tatsuo) - configure --with-pgport fix - pg_ident fix - big-endian fix for backend communications(Kataoka) - SUBSTR() and substring() fix(Jan) - several jdbc fixes(Peter) - libpgtcl improvements, see libptcl/README(Randy Kunkee) - Fix for "Datasize = 0" error(Vadim) - Prevent \do from wrapping(Bruce) - Remove duplicate Russian character set entries - Sunos4 cleanup - Allow optional TABLE keyword in LOCK and SELECT INTO(Thomas) - CREATE SEQUENCE options to allow a negative integer(Thomas) - Add "PASSWORD" as an allowed column identifier(Thomas) - Add checks for UNION target fields(Bruce) - Fix Alpha port(Dwayne Bailey) - Fix for text arrays containing quotes(Doug Gibson) - Solaris compile fix(Albert Chin-A-Young) - Better identify tcl and tk libs and includes(Bruce) - - - ---------------------------------------------------------------------- - - Release 6.3 - - Release date: 1998-03-01 - - There are *many* new features and improvements in this release. Here is a - brief, incomplete summary: - - * Many new SQL features, including full SQL92 subselect capability - (everything is here but target-list subselects). - - * Support for client-side environment variables to specify time zone and - date style. - - * Socket interface for client/server connection. This is the default now - so you may need to start postmaster with the "-i" flag. - - * Better password authorization mechanisms. Default table permissions - have changed. - - * Old-style time travel has been removed. Performance has been improved. - - Note: Bruce Momjian wrote the following notes to introduce the new - release. - - There are some general 6.3 issues that I want to mention. These are only - the big items that can not be described in one sentence. A review of the - detailed changes list is still needed. - - First, we now have subselects. Now that we have them, I would like to - mention that without subselects, SQL is a very limited language. - Subselects are a major feature, and you should review your code for places - where subselects provide a better solution for your queries. I think you - will find that there are more uses for subselects than you may think. - Vadim has put us on the big SQL map with subselects, and fully functional - ones too. The only thing you can't do with subselects is to use them in - the target list. - - Second, 6.3 uses Unix domain sockets rather than TCP/IP by default. To - enable connections from other machines, you have to use the new postmaster - -i option, and of course edit "pg_hba.conf". Also, for this reason, the - format of "pg_hba.conf" has changed. - - Third, char() fields will now allow faster access than varchar() or text. - Specifically, the text and varchar() have a penalty for access to any - columns after the first column of this type. char() used to also have this - access penalty, but it no longer does. This may suggest that you redesign - some of your tables, especially if you have short character columns that - you have defined as varchar() or text. This and other changes make 6.3 - even faster than earlier releases. - - We now have passwords definable independent of any Unix file. There are - new SQL USER commands. See the Administrator's Guide for more information. - There is a new table, pg_shadow, which is used to store user information - and user passwords, and it by default only SELECT-able by the postgres - super-user. pg_user is now a view of pg_shadow, and is SELECT-able by - PUBLIC. You should keep using pg_user in your application without changes. - - User-created tables now no longer have SELECT permission to PUBLIC by - default. This was done because the ANSI standard requires it. You can of - course GRANT any permissions you want after the table is created. System - tables continue to be SELECT-able by PUBLIC. - - We also have real deadlock detection code. No more sixty-second timeouts. - And the new locking code implements a FIFO better, so there should be less - resource starvation during heavy use. - - Many complaints have been made about inadequate documentation in previous - releases. Thomas has put much effort into many new manuals for this - release. Check out the doc/ directory. - - For performance reasons, time travel is gone, but can be implemented using - triggers (see "pgsql/contrib/spi/README"). Please check out the new \d - command for types, operators, etc. Also, views have their own permissions - now, not based on the underlying tables, so permissions on them have to be - set separately. Check "/pgsql/interfaces" for some new ways to talk to - PostgreSQL. - - This is the first release that really required an explanation for existing - users. In many ways, this was necessary because the new release removes - many limitations, and the work-arounds people were using are no longer - needed. - - ---------------------------------------------------------------------- - -Migration to version 6.3 - - A dump/restore using pg_dump or pg_dumpall is required for those wishing - to migrate data from any previous release of PostgreSQL. - - ---------------------------------------------------------------------- - -Changes - - Bug Fixes - --------- - Fix binary cursors broken by MOVE implementation(Vadim) - Fix for tcl library crash(Jan) - Fix for array handling, from Gerhard Hintermayer - Fix acl error, and remove duplicate pqtrace(Bruce) - Fix psql \e for empty file(Bruce) - Fix for textcat on varchar() fields(Bruce) - Fix for DBT Sendproc (Zeugswetter Andres) - Fix vacuum analyze syntax problem(Bruce) - Fix for international identifiers(Tatsuo) - Fix aggregates on inherited tables(Bruce) - Fix substr() for out-of-bounds data - Fix for select 1=1 or 2=2, select 1=1 and 2=2, and select sum(2+2)(Bruce) - Fix notty output to show status result. -q option still turns it off(Bruce) - Fix for count(*), aggs with views and multiple tables and sum(3)(Bruce) - Fix cluster(Bruce) - Fix for PQtrace start/stop several times(Bruce) - Fix a variety of locking problems like newer lock waiters getting - lock before older waiters, and having readlock people not share - locks if a writer is waiting for a lock, and waiting writers not - getting priority over waiting readers(Bruce) - Fix crashes in psql when executing queries from external files(James) - Fix problem with multiple order by columns, with the first one having - NULL values(Jeroen) - Use correct hash table support functions for float8 and int4(Thomas) - Re-enable JOIN= option in CREATE OPERATOR statement (Thomas) - Change precedence for boolean operators to match expected behavior(Thomas) - Generate elog(ERROR) on over-large integer(Bruce) - Allow multiple-argument functions in constraint clauses(Thomas) - Check boolean input literals for 'true','false','yes','no','1','0' - and throw elog(ERROR) if unrecognized(Thomas) - Major large objects fix - Fix for GROUP BY showing duplicates(Vadim) - Fix for index scans in MergeJion(Vadim) - - Enhancements - ------------ - Subselects with EXISTS, IN, ALL, ANY keywords (Vadim, Bruce, Thomas) - New User Manual(Thomas, others) - Speedup by inlining some frequently-called functions - Real deadlock detection, no more timeouts(Bruce) - Add SQL92 "constants" CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, - CURRENT_USER(Thomas) - Modify constraint syntax to be SQL92-compliant(Thomas) - Implement SQL92 PRIMARY KEY and UNIQUE clauses using indexes(Thomas) - Recognize SQL92 syntax for FOREIGN KEY. Throw elog notice(Thomas) - Allow NOT NULL UNIQUE constraint clause (each allowed separately before)(Thomas) - Allow PostgreSQL-style casting ("::") of non-constants(Thomas) - Add support for SQL3 TRUE and FALSE boolean constants(Thomas) - Support SQL92 syntax for IS TRUE/IS FALSE/IS NOT TRUE/IS NOT FALSE(Thomas) - Allow shorter strings for boolean literals (e.g. "t", "tr", "tru")(Thomas) - Allow SQL92 delimited identifiers(Thomas) - Implement SQL92 binary and hexadecimal string decoding (b'10' and x'1F')(Thomas) - Support SQL92 syntax for type coercion of literal strings - (e.g. "DATETIME 'now'")(Thomas) - Add conversions for int2, int4, and OID types to and from text(Thomas) - Use shared lock when building indexes(Vadim) - Free memory allocated for an user query inside transaction block after - this query is done, was turned off in <= 6.2.1(Vadim) - New SQL statement CREATE PROCEDURAL LANGUAGE(Jan) - New PostgreSQL Procedural Language (PL) backend interface(Jan) - Rename pg_dump -H option to -h(Bruce) - Add Java support for passwords, European dates(Peter) - Use indexes for LIKE and ~, !~ operations(Bruce) - Add hash functions for datetime and timespan(Thomas) - Time Travel removed(Vadim, Bruce) - Add paging for \d and \z, and fix \i(Bruce) - Add Unix domain socket support to backend and to frontend library(Goran) - Implement CREATE DATABASE/WITH LOCATION and initlocation utility(Thomas) - Allow more SQL92 and/or PostgreSQL reserved words as column identifiers(Thomas) - Augment support for SQL92 SET TIME ZONE...(Thomas) - SET/SHOW/RESET TIME ZONE uses TZ backend environment variable(Thomas) - Implement SET keyword = DEFAULT and SET TIME ZONE DEFAULT(Thomas) - Enable SET TIME ZONE using TZ environment variable(Thomas) - Add PGDATESTYLE environment variable to frontend and backend initialization(Thomas) - Add PGTZ, PGCOSTHEAP, PGCOSTINDEX, PGRPLANS, PGGEQO - frontend library initialization environment variables(Thomas) - Regression tests time zone automatically set with "setenv PGTZ PST8PDT"(Thomas) - Add pg_description table for info on tables, columns, operators, types, and - aggregates(Bruce) - Increase 16 char limit on system table/index names to 32 characters(Bruce) - Rename system indexes(Bruce) - Add 'GERMAN' option to SET DATESTYLE(Thomas) - Define an "ISO-style" timespan output format with "hh:mm:ss" fields(Thomas) - Allow fractional values for delta times (e.g. '2.5 days')(Thomas) - Validate numeric input more carefully for delta times(Thomas) - Implement day of year as possible input to date_part()(Thomas) - Define timespan_finite() and text_timespan() functions(Thomas) - Remove archive stuff(Bruce) - Allow for a pg_password authentication database that is separate from - the system password file(Todd) - Dump ACLs, GRANT, REVOKE permissions(Matt) - Define text, varchar, and bpchar string length functions(Thomas) - Fix Query handling for inheritance, and cost computations(Bruce) - Implement CREATE TABLE/AS SELECT (alternative to SELECT/INTO)(Thomas) - Allow NOT, IS NULL, IS NOT NULL in constraints(Thomas) - Implement UNIONs for SELECT(Bruce) - Add UNION, GROUP, DISTINCT to INSERT(Bruce) - varchar() stores only necessary bytes on disk(Bruce) - Fix for BLOBs(Peter) - Mega-Patch for JDBC...see README_6.3 for list of changes(Peter) - Remove unused "option" from PQconnectdb() - New LOCK command and lock manual page describing deadlocks(Bruce) - Add new psql \da, \dd, \df, \do, \dS, and \dT commands(Bruce) - Enhance psql \z to show sequences(Bruce) - Show NOT NULL and DEFAULT in psql \d table(Bruce) - New psql .psqlrc file start-up(Andrew) - Modify sample start-up script in contrib/linux to show syslog(Thomas) - New types for IP and MAC addresses in contrib/ip_and_mac(TomH) - Unix system time conversions with date/time types in contrib/unixdate(Thomas) - Update of contrib stuff(Massimo) - Add Unix socket support to DBD::Pg(Goran) - New python interface (PyGreSQL 2.0)(D'Arcy) - New frontend/backend protocol has a version number, network byte order(Phil) - Security features in pg_hba.conf enhanced and documented, many cleanups(Phil) - CHAR() now faster access than VARCHAR() or TEXT - ecpg embedded SQL preprocessor - Reduce system column overhead(Vadmin) - Remove pg_time table(Vadim) - Add pg_type attribute to identify types that need length (bpchar, varchar) - Add report of offending line when COPY command fails - Allow VIEW permissions to be set separately from the underlying tables. - For security, use GRANT/REVOKE on views as appropriate(Jan) - Tables now have no default GRANT SELECT TO PUBLIC. You must - explicitly grant such permissions. - Clean up tutorial examples(Darren) - - Source Tree Changes - ------------------- - Add new html development tools, and flow chart in /tools/backend - Fix for SCO compiles - Stratus computer port Robert Gillies - Added support for shlib for BSD44_derived & i386_solaris - Make configure more automated(Brook) - Add script to check regression test results - Break parser functions into smaller files, group together(Bruce) - Rename heap_create to heap_create_and_catalog, rename heap_creatr - to heap_create()(Bruce) - Sparc/Linux patch for locking(TomS) - Remove PORTNAME and reorganize port-specific stuff(Marc) - Add optimizer README file(Bruce) - Remove some recursion in optimizer and clean up some code there(Bruce) - Fix for NetBSD locking(Henry) - Fix for libptcl make(Tatsuo) - AIX patch(Darren) - Change IS TRUE, IS FALSE, ... to expressions using "=" rather than - function calls to istrue() or isfalse() to allow optimization(Thomas) - Various fixes NetBSD/Sparc related(TomH) - Alpha linux locking(Travis,Ryan) - Change elog(WARN) to elog(ERROR)(Bruce) - FAQ for FreeBSD(Marc) - Bring in the PostODBC source tree as part of our standard distribution(Marc) - A minor patch for HP/UX 10 vs 9(Stan) - New pg_attribute.atttypmod for type-specific info like varchar length(Bruce) - Unixware patches(Billy) - New i386 'lock' for spin lock asm(Billy) - Support for multiplexed backends is removed - Start an OpenBSD port - Start an AUX port - Start a Cygnus port - Add string functions to regression suite(Thomas) - Expand a few function names formerly truncated to 16 characters(Thomas) - Remove un-needed malloc() calls and replace with palloc()(Bruce) - - ---------------------------------------------------------------------- - - Release 6.2.1 - - Release date: 1997-10-17 - - 6.2.1 is a bug-fix and usability release on 6.2. - - Summary: - - * Allow strings to span lines, per SQL92. - - * Include example trigger function for inserting user names on table - updates. - - This is a minor bug-fix release on 6.2. For upgrades from pre-6.2 systems, - a full dump/reload is required. Refer to the 6.2 release notes for - instructions. - - ---------------------------------------------------------------------- - -Migration from version 6.2 to version 6.2.1 - - This is a minor bug-fix release. A dump/reload is not required from - version 6.2, but is required from any release prior to 6.2. - - In upgrading from version 6.2, if you choose to dump/reload you will find - that avg(money) is now calculated correctly. All other bug fixes take - effect upon updating the executables. - - Another way to avoid dump/reload is to use the following SQL command from - "psql" to update the existing system table: - - update pg_aggregate set aggfinalfn = 'cash_div_flt8' - where aggname = 'avg' and aggbasetype = 790; - - This will need to be done to every existing database, including template1. - - ---------------------------------------------------------------------- - -Changes - - Allow TIME and TYPE column names(Thomas) - Allow larger range of true/false as boolean values(Thomas) - Support output of "now" and "current"(Thomas) - Handle DEFAULT with INSERT of NULL properly(Vadim) - Fix for relation reference counts problem in buffer manager(Vadim) - Allow strings to span lines, like ANSI(Thomas) - Fix for backward cursor with ORDER BY(Vadim) - Fix avg(cash) computation(Thomas) - Fix for specifying a column twice in ORDER/GROUP BY(Vadim) - Documented new libpq function to return affected rows, PQcmdTuples(Bruce) - Trigger function for inserting user names for INSERT/UPDATE(Brook Milligan) - - - ---------------------------------------------------------------------- - - Release 6.2 - - Release date: 1997-10-02 - - A dump/restore is required for those wishing to migrate data from previous - releases of PostgreSQL. - - ---------------------------------------------------------------------- - -Migration from version 6.1 to version 6.2 - - This migration requires a complete dump of the 6.1 database and a restore - of the database in 6.2. - - Note that the "pg_dump" and "pg_dumpall" utility from 6.2 should be used - to dump the 6.1 database. - - ---------------------------------------------------------------------- - -Migration from version 1.x to version 6.2 - - Those migrating from earlier 1.* releases should first upgrade to 1.09 - because the COPY output format was improved from the 1.02 release. - - ---------------------------------------------------------------------- - -Changes - - Bug Fixes - --------- - Fix problems with pg_dump for inheritance, sequences, archive tables(Bruce) - Fix compile errors on overflow due to shifts, unsigned, and bad prototypes - from Solaris(Diab Jerius) - Fix bugs in geometric line arithmetic (bad intersection calculations)(Thomas) - Check for geometric intersections at endpoints to avoid rounding ugliness(Thomas) - Catch non-functional delete attempts(Vadim) - Change time function names to be more consistent(Michael Reifenberg) - Check for zero divides(Michael Reifenberg) - Fix very old bug which made tuples changed/inserted by a commnd - visible to the command itself (so we had multiple update of - updated tuples, etc)(Vadim) - Fix for SELECT null, 'fail' FROM pg_am (Patrick) - SELECT NULL as EMPTY_FIELD now allowed(Patrick) - Remove un-needed signal stuff from contrib/pginterface - Fix OR (where x != 1 or x isnull didn't return tuples with x NULL) (Vadim) - Fix time_cmp function (Vadim) - Fix handling of functions with non-attribute first argument in - WHERE clauses (Vadim) - Fix GROUP BY when order of entries is different from order - in target list (Vadim) - Fix pg_dump for aggregates without sfunc1 (Vadim) - - Enhancements - ------------ - Default genetic optimizer GEQO parameter is now 8(Bruce) - Allow use parameters in target list having aggregates in functions(Vadim) - Added JDBC driver as an interface(Adrian & Peter) - pg_password utility - Return number of tuples inserted/affected by INSERT/UPDATE/DELETE etc.(Vadim) - Triggers implemented with CREATE TRIGGER (SQL3)(Vadim) - SPI (Server Programming Interface) allows execution of queries inside - C-functions (Vadim) - NOT NULL implemented (SQL92)(Robson Paniago de Miranda) - Include reserved words for string handling, outer joins, and unions(Thomas) - Implement extended comments ("/* ... */") using exclusive states(Thomas) - Add "//" single-line comments(Bruce) - Remove some restrictions on characters in operator names(Thomas) - DEFAULT and CONSTRAINT for tables implemented (SQL92)(Vadim & Thomas) - Add text concatenation operator and function (SQL92)(Thomas) - Support WITH TIME ZONE syntax (SQL92)(Thomas) - Support INTERVAL unit TO unit syntax (SQL92)(Thomas) - Define types DOUBLE PRECISION, INTERVAL, CHARACTER, - and CHARACTER VARYING (SQL92)(Thomas) - Define type FLOAT(p) and rudimentary DECIMAL(p,s), NUMERIC(p,s) (SQL92)(Thomas) - Define EXTRACT(), POSITION(), SUBSTRING(), and TRIM() (SQL92)(Thomas) - Define CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP (SQL92)(Thomas) - Add syntax and warnings for UNION, HAVING, INNER and OUTER JOIN (SQL92)(Thomas) - Add more reserved words, mostly for SQL92 compliance(Thomas) - Allow hh:mm:ss time entry for timespan/reltime types(Thomas) - Add center() routines for lseg, path, polygon(Thomas) - Add distance() routines for circle-polygon, polygon-polygon(Thomas) - Check explicitly for points and polygons contained within polygons - using an axis-crossing algorithm(Thomas) - Add routine to convert circle-box(Thomas) - Merge conflicting operators for different geometric data types(Thomas) - Replace distance operator "<===>" with "<->"(Thomas) - Replace "above" operator "!^" with ">^" and "below" operator "!|" with "<^"(Thomas) - Add routines for text trimming on both ends, substring, and string position(Thomas) - Added conversion routines circle(box) and poly(circle)(Thomas) - Allow internal sorts to be stored in memory rather than in files(Bruce & Vadim) - Allow functions and operators on internally-identical types to succeed(Bruce) - Speed up backend start-up after profiling analysis(Bruce) - Inline frequently called functions for performance(Bruce) - Reduce open() calls(Bruce) - psql: Add PAGER for \h and \?,\C fix - Fix for psql pager when no tty(Bruce) - New entab utility(Bruce) - General trigger functions for referential integrity (Vadim) - General trigger functions for time travel (Vadim) - General trigger functions for AUTOINCREMENT/IDENTITY feature (Vadim) - MOVE implementation (Vadim) - - Source Tree Changes - ------------------- - HPUX 10 patches (Vladimir Turin) - Added SCO support, (Daniel Harris) - mkLinux patches (Tatsuo Ishii) - Change geometric box terminology from "length" to "width"(Thomas) - Deprecate temporary unstored slope fields in geometric code(Thomas) - Remove restart instructions from INSTALL(Bruce) - Look in /usr/ucb first for install(Bruce) - Fix c++ copy example code(Thomas) - Add -o to psql manual page(Bruce) - Prevent relname unallocated string length from being copied into database(Bruce) - Cleanup for NAMEDATALEN use(Bruce) - Fix pg_proc names over 15 chars in output(Bruce) - Add strNcpy() function(Bruce) - remove some (void) casts that are unnecessary(Bruce) - new interfaces directory(Marc) - Replace fopen() calls with calls to fd.c functions(Bruce) - Make functions static where possible(Bruce) - enclose unused functions in #ifdef NOT_USED(Bruce) - Remove call to difftime() in timestamp support to fix SunOS(Bruce & Thomas) - Changes for Digital Unix - Portability fix for pg_dumpall(Bruce) - Rename pg_attribute.attnvals to attdispersion(Bruce) - "intro/unix" manual page now "pgintro"(Bruce) - "built-in" manual page now "pgbuiltin"(Bruce) - "drop" manual page now "drop_table"(Bruce) - Add "create_trigger", "drop_trigger" manual pages(Thomas) - Add constraints regression test(Vadim & Thomas) - Add comments syntax regression test(Thomas) - Add PGINDENT and support program(Bruce) - Massive commit to run PGINDENT on all *.c and *.h files(Bruce) - Files moved to /src/tools directory(Bruce) - SPI and Trigger programming guides (Vadim & D'Arcy) - - ---------------------------------------------------------------------- - - Release 6.1.1 - - Release date: 1997-07-22 - - ---------------------------------------------------------------------- - -Migration from version 6.1 to version 6.1.1 - - This is a minor bug-fix release. A dump/reload is not required from - version 6.1, but is required from any release prior to 6.1. Refer to the - release notes for 6.1 for more details. - - ---------------------------------------------------------------------- - -Changes - - fix for SET with options (Thomas) - allow pg_dump/pg_dumpall to preserve ownership of all tables/objects(Bruce) - new psql \connect option allows changing usernames without changing databases - fix for initdb --debug option(Yoshihiko Ichikawa)) - lextest cleanup(Bruce) - hash fixes(Vadim) - fix date/time month boundary arithmetic(Thomas) - fix timezone daylight handling for some ports(Thomas, Bruce, Tatsuo) - timestamp overhauled to use standard functions(Thomas) - other code cleanup in date/time routines(Thomas) - psql's \d now case-insensitive(Bruce) - psql's backslash commands can now have trailing semicolon(Bruce) - fix memory leak in psql when using \g(Bruce) - major fix for endian handling of communication to server(Thomas, Tatsuo) - Fix for Solaris assembler and include files(Yoshihiko Ichikawa) - allow underscores in usernames(Bruce) - pg_dumpall now returns proper status, portability fix(Bruce) - - - ---------------------------------------------------------------------- - - Release 6.1 - - Release date: 1997-06-08 - - The regression tests have been adapted and extensively modified for the - 6.1 release of PostgreSQL. - - Three new data types (datetime, timespan, and circle) have been added to - the native set of PostgreSQL types. Points, boxes, paths, and polygons - have had their output formats made consistent across the data types. The - polygon output in misc.out has only been spot-checked for correctness - relative to the original regression output. - - PostgreSQL 6.1 introduces a new, alternate optimizer which uses genetic - algorithms. These algorithms introduce a random behavior in the ordering - of query results when the query contains multiple qualifiers or multiple - tables (giving the optimizer a choice on order of evaluation). Several - regression tests have been modified to explicitly order the results, and - hence are insensitive to optimizer choices. A few regression tests are for - data types which are inherently unordered (e.g. points and time intervals) - and tests involving those types are explicitly bracketed with "set geqo to - 'off'" and "reset geqo". - - The interpretation of array specifiers (the curly braces around atomic - values) appears to have changed sometime after the original regression - tests were generated. The current "./expected/*.out" files reflect this - new interpretation, which may not be correct! - - The float8 regression test fails on at least some platforms. This is due - to differences in implementations of pow() and exp() and the signaling - mechanisms used for overflow and underflow conditions. - - The "random" results in the random test should cause the "random" test to - be "failed", since the regression tests are evaluated using a simple diff. - However, "random" does not seem to produce random results on my test - machine (Linux/gcc/i686). - - ---------------------------------------------------------------------- - -Migration to version 6.1 - - This migration requires a complete dump of the 6.0 database and a restore - of the database in 6.1. - - Those migrating from earlier 1.* releases should first upgrade to 1.09 - because the COPY output format was improved from the 1.02 release. - - ---------------------------------------------------------------------- - -Changes - - Bug Fixes - --------- - packet length checking in library routines - lock manager priority patch - check for under/over flow of float8(Bruce) - multi-table join fix(Vadim) - SIGPIPE crash fix(Darren) - large object fixes(Sven) - allow btree indexes to handle NULLs(Vadim) - timezone fixes(D'Arcy) - select SUM(x) can return NULL on no rows(Thomas) - internal optimizer, executor bug fixes(Vadim) - fix problem where inner loop in < or <= has no rows(Vadim) - prevent re-commuting join index clauses(Vadim) - fix join clauses for multiple tables(Vadim) - fix hash, hashjoin for arrays(Vadim) - fix btree for abstime type(Vadim) - large object fixes(Raymond) - fix buffer leak in hash indexes (Vadim) - fix rtree for use in inner scan (Vadim) - fix gist for use in inner scan, cleanups (Vadim, Andrea) - avoid unnecessary local buffers allocation (Vadim, Massimo) - fix local buffers leak in transaction aborts (Vadim) - fix file manager memmory leaks, cleanups (Vadim, Massimo) - fix storage manager memmory leaks (Vadim) - fix btree duplicates handling (Vadim) - fix deleted tuples re-incarnation caused by vacuum (Vadim) - fix SELECT varchar()/char() INTO TABLE made zero-length fields(Bruce) - many psql, pg_dump, and libpq memory leaks fixed using Purify (Igor) - - Enhancements - ------------ - attribute optimization statistics(Bruce) - much faster new btree bulk load code(Paul) - BTREE UNIQUE added to bulk load code(Vadim) - new lock debug code(Massimo) - massive changes to libpg++(Leo) - new GEQO optimizer speeds table multi-table optimization(Martin) - new WARN message for non-unique insert into unique key(Marc) - update x=-3, no spaces, now valid(Bruce) - remove case-sensitive identifier handling(Bruce,Thomas,Dan) - debug backend now pretty-prints tree(Darren) - new Oracle character functions(Edmund) - new plaintext password functions(Dan) - no such class or insufficient privilege changed to distinct messages(Dan) - new ANSI timestamp function(Dan) - new ANSI Time and Date types (Thomas) - move large chunks of data in backend(Martin) - multi-column btree indexes(Vadim) - new SET var TO value command(Martin) - update transaction status on reads(Dan) - new locale settings for character types(Oleg) - new SEQUENCE serial number generator(Vadim) - GROUP BY function now possible(Vadim) - re-organize regression test(Thomas,Marc) - new optimizer operation weights(Vadim) - new psql \z grant/permit option(Marc) - new MONEY data type(D'Arcy,Thomas) - tcp socket communication speed improved(Vadim) - new VACUUM option for attribute statistics, and for certain columns (Vadim) - many geometric type improvements(Thomas,Keith) - additional regression tests(Thomas) - new datestyle variable(Thomas,Vadim,Martin) - more comparison operators for sorting types(Thomas) - new conversion functions(Thomas) - new more compact btree format(Vadim) - allow pg_dumpall to preserve database ownership(Bruce) - new SET GEQO=# and R_PLANS variable(Vadim) - old (!GEQO) optimizer can use right-sided plans (Vadim) - typechecking improvement in SQL parser(Bruce) - new SET, SHOW, RESET commands(Thomas,Vadim) - new \connect database USER option - new destroydb -i option (Igor) - new \dt and \di psql commands (Darren) - SELECT "\n" now escapes newline (A. Duursma) - new geometry conversion functions from old format (Thomas) - - Source tree changes - ------------------- - new configuration script(Marc) - readline configuration option added(Marc) - OS-specific configuration options removed(Marc) - new OS-specific template files(Marc) - no more need to edit Makefile.global(Marc) - re-arrange include files(Marc) - nextstep patches (Gregor Hoffleit) - removed WIN32-specific code(Bruce) - removed postmaster -e option, now only postgres -e option (Bruce) - merge duplicate library code in front/backends(Martin) - now works with eBones, international Kerberos(Jun) - more shared library support - c++ include file cleanup(Bruce) - warn about buggy flex(Bruce) - DG-UX, Ultrix, Irix, AIX portability fixes - - ---------------------------------------------------------------------- - - Release 6.0 - - Release date: 1997-01-29 - - A dump/restore is required for those wishing to migrate data from previous - releases of PostgreSQL. - - ---------------------------------------------------------------------- - -Migration from version 1.09 to version 6.0 - - This migration requires a complete dump of the 1.09 database and a restore - of the database in 6.0. - - ---------------------------------------------------------------------- - -Migration from pre-1.09 to version 6.0 - - Those migrating from earlier 1.* releases should first upgrade to 1.09 - because the COPY output format was improved from the 1.02 release. - - ---------------------------------------------------------------------- - -Changes - - Bug Fixes - --------- - ALTER TABLE bug - running postgress process needs to re-read table definition - Allow vacuum to be run on one table or entire database(Bruce) - Array fixes - Fix array over-runs of memory writes(Kurt) - Fix elusive btree range/non-range bug(Dan) - Fix for hash indexes on some types like time and date - Fix for pg_log size explosion - Fix permissions on lo_export()(Bruce) - Fix unitialized reads of memory(Kurt) - Fixed ALTER TABLE ... char(3) bug(Bruce) - Fixed a few small memory leaks - Fixed EXPLAIN handling of options and changed full_path option name - Fixed output of group acl permissions - Memory leaks (hunt and destroy with tools like Purify(Kurt) - Minor improvements to rules system - NOTIFY fixes - New asserts for run-checking - Overhauled parser/analyze code to properly report errors and increase speed - Pg_dump -d now handles NULL's properly(Bruce) - Prevent SELECT NULL from crashing server (Bruce) - Properly report errors when INSERT ... SELECT columns did not match - Properly report errors when insert column names were not correct - Psql \g filename now works(Bruce) - Psql fixed problem with multiple statements on one line with multiple outputs - Removed duplicate system oid's - SELECT * INTO TABLE . GROUP/ORDER BY gives unlink error if table exists(Bruce) - Several fixes for queries that crashed the backend - Starting quote in insert string errors(Bruce) - Submitting an empty query now returns empty status, not just " " query(Bruce) - - Enhancements - ------------ - Add EXPLAIN manual page(Bruce) - Add UNIQUE index capability(Dan) - Add hostname/user level access control rather than just hostname and user - Add synonym of != for <>(Bruce) - Allow "select oid,* from table" - Allow BY,ORDER BY to specify columns by number, or by non-alias table.column(Bruce) - Allow COPY from the frontend(Bryan) - Allow GROUP BY to use alias column name(Bruce) - Allow actual compression, not just reuse on the same page(Vadim) - Allow installation-configuration option to auto-add all local users(Bryan) - Allow libpq to distinguish between text value '' and null(Bruce) - Allow non-postgres users with createdb privs to destroydb's - Allow restriction on who can create C functions(Bryan) - Allow restriction on who can do backend COPY(Bryan) - Can shrink tables, pg_time and pg_log(Vadim & Erich) - Change debug level 2 to print queries only, changed debug heading layout(Bruce) - Change default decimal constant representation from float4 to float8(Bruce) - European date format now set when postmaster is started - Execute lowercase function names if not found with exact case - Fixes for aggregate/GROUP processing, allow 'select sum(func(x),sum(x+y) from z' - Gist now included in the distrubution(Marc) - Idend authentication of local users(Bryan) - Implement BETWEEN qualifier(Bruce) - Implement IN qualifier(Bruce) - Libpq has PQgetisnull()(Bruce) - Libpq++ improvements - New options to initdb(Bryan) - Pg_dump allow dump of oid's(Bruce) - Pg_dump create indexes after tables are loaded for speed(Bruce) - Pg_dumpall dumps all databases, and the user table - Pginterface additions for NULL values(Bruce) - Prevent postmaster from being run as root - Psql \h and \? is now readable(Bruce) - Psql allow backslashed, semicolons anywhere on the line(Bruce) - Psql changed command prompt for lines in query or in quotes(Bruce) - Psql char(3) now displays as (bp)char in \d output(Bruce) - Psql return code now more accurate(Bryan?) - Psql updated help syntax(Bruce) - Re-visit and fix vacuum(Vadim) - Reduce size of regression diffs, remove timezone name difference(Bruce) - Remove compile-time parameters to enable binary distributions(Bryan) - Reverse meaning of HBA masks(Bryan) - Secure Authentication of local users(Bryan) - Speed up vacuum(Vadim) - Vacuum now had VERBOSE option(Bruce) - - Source tree changes - ------------------- - All functions now have prototypes that are compared against the calls - Allow asserts to be disabled easly from Makefile.global(Bruce) - Change oid constants used in code to #define names - Decoupled sparc and solaris defines(Kurt) - Gcc -Wall compiles cleanly with warnings only from unfixable constructs - Major include file reorganization/reduction(Marc) - Make now stops on compile failure(Bryan) - Makefile restructuring(Bryan, Marc) - Merge bsdi_2_1 to bsdi(Bruce) - Monitor program removed - Name change from Postgres95 to PostgreSQL - New config.h file(Marc, Bryan) - PG_VERSION now set to 6.0 and used by postmaster - Portability additions, including Ultrix, DG/UX, AIX, and Solaris - Reduced the number of #define's, centeralized #define's - Remove duplicate OIDS in system tables(Dan) - Remove duplicate system catalog info or report mismatches(Dan) - Removed many os-specific #define's - Restructured object file generation/location(Bryan, Marc) - Restructured port-specific file locations(Bryan, Marc) - Unused/uninialized variables corrected - - ---------------------------------------------------------------------- - - Release 1.09 - - Release date: 1996-11-04 - - Sorry, we didn't keep track of changes from 1.02 to 1.09. Some of the - changes listed in 6.0 were actually included in the 1.02.1 to 1.09 - releases. - - ---------------------------------------------------------------------- - - Release 1.02 - - Release date: 1996-08-01 - - ---------------------------------------------------------------------- - -Migration from version 1.02 to version 1.02.1 - - Here is a new migration file for 1.02.1. It includes the 'copy' change and - a script to convert old ASCII files. - - Note: The following notes are for the benefit of users who want to - migrate databases from Postgres95 1.01 and 1.02 to Postgres95 1.02.1. - - If you are starting afresh with Postgres95 1.02.1 and do not need to - migrate old databases, you do not need to read any further. - - In order to upgrade older Postgres95 version 1.01 or 1.02 databases to - version 1.02.1, the following steps are required: - - - - - databases. This is done by running the new 1.02.1 server against your - own 1.01 or 1.02 database and applying the queries attached at the end - of the file. This can be done easily through "psql". If your 1.01 or - 1.02 database is named testdb and you have cut the commands from the - end of this file and saved them in "addfunc.sql": - - % psql testdb -f addfunc.sql - - Those upgrading 1.02 databases will get a warning when executing the - last two statements in the file because they are already present in - 1.02. This is not a cause for concern. - - ---------------------------------------------------------------------- - -Dump/Reload Procedure - - If you are trying to reload a pg_dump or text-mode, copy tablename to - stdout generated with a previous version, you will need to run the - attached "sed" script on the ASCII file before loading it into the - database. The old format used '.' as end-of-data, while '\.' is now the - end-of-data marker. Also, empty strings are now loaded in as '' rather - than NULL. See the copy manual page for full details. - - sed 's/^\.$/\\./g' out_file - - If you are loading an older binary copy or non-stdout copy, there is no - end-of-data character, and hence no conversion necessary. - - -- following lines added by agc to reflect the case-insensitive - -- regexp searching for varchar (in 1.02), and bpchar (in 1.02.1) - create operator ~* (leftarg = bpchar, rightarg = text, procedure = texticregexeq); - create operator !~* (leftarg = bpchar, rightarg = text, procedure = texticregexne); - create operator ~* (leftarg = varchar, rightarg = text, procedure = texticregexeq); - create operator !~* (leftarg = varchar, rightarg = text, procedure = texticregexne); - - ---------------------------------------------------------------------- - -Changes - - Source code maintenance and development - * worldwide team of volunteers - * the source tree now in CVS at ftp.ki.net - - Enhancements - * psql (and underlying libpq library) now has many more options for - formatting output, including HTML - * pg_dump now output the schema and/or the data, with many fixes to - enhance completeness. - * psql used in place of monitor in administration shell scripts. - monitor to be depreciated in next release. - * date/time functions enhanced - * NULL insert/update/comparison fixed/enhanced - * TCL/TK lib and shell fixed to work with both tck7.4/tk4.0 and tcl7.5/tk4.1 - - Bug Fixes (almost too numerous to mention) - * indexes - * storage management - * check for NULL pointer before dereferencing - * Makefile fixes - - New Ports - * added SolarisX86 port - * added BSDI 2.1 port - * added DGUX port - - ---------------------------------------------------------------------- - - Release 1.01 - - Release date: 1996-02-23 - - ---------------------------------------------------------------------- - -Migration from version 1.0 to version 1.01 - - The following notes are for the benefit of users who want to migrate - databases from Postgres95 1.0 to Postgres95 1.01. - - If you are starting afresh with Postgres95 1.01 and do not need to migrate - old databases, you do not need to read any further. - - In order to Postgres95 version 1.01 with databases created with Postgres95 - version 1.0, the following steps are required: - - - OIDNAMELEN to 20. - - - - - data directory (typically the value of your $PGDATA). - "src/libpq/pg_hba" shows an example syntax. - - - the line - - HBA = 1 - - in "src/Makefile.global" - - Note that host-based authentication is turned on by default, and - if you do not take steps A or B above, the out-of-the-box 1.01 - will not allow you to connect to 1.0 databases. - - - - - your existing $PGDATA directory. - - - path up so that 1.01 binaries are being used. - - - - - - - This is done by running the new 1.01 server against your own 1.0 - database and applying the queries attached and saving in the file - 1.0_to_1.01.sql. This can be done easily through "psql". If your 1.0 - database is name testdb: - - % psql testdb -f 1.0_to_1.01.sql - - and then execute the following commands (cut and paste from here): - - -- add builtin functions that are new to 1.01 - - create function int4eqoid (int4, oid) returns bool as 'foo' - language 'internal'; - create function oideqint4 (oid, int4) returns bool as 'foo' - language 'internal'; - create function char2icregexeq (char2, text) returns bool as 'foo' - language 'internal'; - create function char2icregexne (char2, text) returns bool as 'foo' - language 'internal'; - create function char4icregexeq (char4, text) returns bool as 'foo' - language 'internal'; - create function char4icregexne (char4, text) returns bool as 'foo' - language 'internal'; - create function char8icregexeq (char8, text) returns bool as 'foo' - language 'internal'; - create function char8icregexne (char8, text) returns bool as 'foo' - language 'internal'; - create function char16icregexeq (char16, text) returns bool as 'foo' - language 'internal'; - create function char16icregexne (char16, text) returns bool as 'foo' - language 'internal'; - create function texticregexeq (text, text) returns bool as 'foo' - language 'internal'; - create function texticregexne (text, text) returns bool as 'foo' - language 'internal'; - - -- add builtin functions that are new to 1.01 - - create operator = (leftarg = int4, rightarg = oid, procedure = int4eqoid); - create operator = (leftarg = oid, rightarg = int4, procedure = oideqint4); - create operator ~* (leftarg = char2, rightarg = text, procedure = char2icregexeq); - create operator !~* (leftarg = char2, rightarg = text, procedure = char2icregexne); - create operator ~* (leftarg = char4, rightarg = text, procedure = char4icregexeq); - create operator !~* (leftarg = char4, rightarg = text, procedure = char4icregexne); - create operator ~* (leftarg = char8, rightarg = text, procedure = char8icregexeq); - create operator !~* (leftarg = char8, rightarg = text, procedure = char8icregexne); - create operator ~* (leftarg = char16, rightarg = text, procedure = char16icregexeq); - create operator !~* (leftarg = char16, rightarg = text, procedure = char16icregexne); - create operator ~* (leftarg = text, rightarg = text, procedure = texticregexeq); - create operator !~* (leftarg = text, rightarg = text, procedure = texticregexne); - - ---------------------------------------------------------------------- - -Changes - - Incompatibilities: - * 1.01 is backwards compatible with 1.0 database provided the user - follow the steps outlined in the MIGRATION_from_1.0_to_1.01 file. - If those steps are not taken, 1.01 is not compatible with 1.0 database. - - Enhancements: - * added PQdisplayTuples() to libpq and changed monitor and psql to use it - * added NeXT port (requires SysVIPC implementation) - * added CAST .. AS ... syntax - * added ASC and DESC keywords - * added 'internal' as a possible language for CREATE FUNCTION - internal functions are C functions which have been statically linked - into the postgres backend. - * a new type "name" has been added for system identifiers (table names, - attribute names, etc.) This replaces the old char16 type. The - of name is set by the NAMEDATALEN #define in src/Makefile.global - * a readable reference manual that describes the query language. - * added host-based access control. A configuration file ($PGDATA/pg_hba) - is used to hold the configuration data. If host-based access control - is not desired, comment out HBA=1 in src/Makefile.global. - * changed regex handling to be uniform use of Henry Spencer's regex code - regardless of platform. The regex code is included in the distribution - * added functions and operators for case-insensitive regular expressions. - The operators are ~* and !~*. - * pg_dump uses COPY instead of SELECT loop for better performance - - Bug fixes: - * fixed an optimizer bug that was causing core dumps when - functions calls were used in comparisons in the WHERE clause - * changed all uses of getuid to geteuid so that effective uids are used - * psql now returns non-zero status on errors when using -c - * applied public patches 1-14 - - ---------------------------------------------------------------------- - - Release 1.0 - - Release date: 1995-09-05 - - ---------------------------------------------------------------------- - -Changes - - Copyright change: - * The copyright of Postgres 1.0 has been loosened to be freely modifiable - and modifiable for any purpose. Please read the COPYRIGHT file. - Thanks to Professor Michael Stonebraker for making this possible. - - Incompatibilities: - * date formats have to be MM-DD-YYYY (or DD-MM-YYYY if you're using - EUROPEAN STYLE). This follows SQL-92 specs. - * "delimiters" is now a keyword - - Enhancements: - * sql LIKE syntax has been added - * copy command now takes an optional USING DELIMITER specification. - delimiters can be any single-character string. - * IRIX 5.3 port has been added. - Thanks to Paul Walmsley and others. - * updated pg_dump to work with new libpq - * \d has been added psql - Thanks to Keith Parks - * regexp performance for architectures that use POSIX regex has been - improved due to caching of precompiled patterns. - Thanks to Alistair Crooks - * a new version of libpq++ - Thanks to William Wanders - - Bug fixes: - * arbitrary userids can be specified in the createuser script - * \c to connect to other databases in psql now works. - * bad pg_proc entry for float4inc() is fixed - * users with usecreatedb field set can now create databases without - having to be usesuper - * remove access control entries when the entry no longer has any - permissions - * fixed non-portable datetimes implementation - * added kerberos flags to the src/backend/Makefile - * libpq now works with kerberos - * typographic errors in the user manual have been corrected. - * btrees with multiple index never worked, now we tell you they don't - work when you try to use them - - ---------------------------------------------------------------------- - - Postgres95 Release 0.03 - - Release date: 1995-07-21 - - ---------------------------------------------------------------------- - -Changes - - Incompatible changes: - * BETA-0.3 IS INCOMPATIBLE WITH DATABASES CREATED WITH PREVIOUS VERSIONS - (due to system catalog changes and indexing structure changes). - * double-quote (") is deprecated as a quoting character for string literals; - you need to convert them to single quotes ('). - * name of aggregates (eg. int4sum) are renamed in accordance with the - SQL standard (eg. sum). - * CHANGE ACL syntax is replaced by GRANT/REVOKE syntax. - * float literals (eg. 3.14) are now of type float4 (instead of float8 in - previous releases); you might have to do typecasting if you depend on it - being of type float8. If you neglect to do the typecasting and you assign - a float literal to a field of type float8, you may get incorrect values - stored! - * LIBPQ has been totally revamped so that frontend applications - can connect to multiple backends - * the usesysid field in pg_user has been changed from int2 to int4 to - allow wider range of Unix user ids. - * the netbsd/freebsd/bsd o/s ports have been consolidated into a - single BSD44_derived port. (thanks to Alistair Crooks) - - SQL standard-compliance (the following details changes that makes postgres95 - more compliant to the SQL-92 standard): - * the following SQL types are now built-in: smallint, int(eger), float, real, - char(N), varchar(N), date and time. - - The following are aliases to existing postgres types: - smallint -> int2 - integer, int -> int4 - float, real -> float4 - char(N) and varchar(N) are implemented as truncated text types. In - addition, char(N) does blank-padding. - * single-quote (') is used for quoting string literals; '' (in addition to - \') is supported as means of inserting a single quote in a string - * SQL standard aggregate names (MAX, MIN, AVG, SUM, COUNT) are used - (Also, aggregates can now be overloaded, i.e. you can define your - own MAX aggregate to take in a user-defined type.) - * CHANGE ACL removed. GRANT/REVOKE syntax added. - - Privileges can be given to a group using the "GROUP" keyword. - For example: - GRANT SELECT ON foobar TO GROUP my_group; - The keyword 'PUBLIC' is also supported to mean all users. - - Privileges can only be granted or revoked to one user or group - at a time. - - "WITH GRANT OPTION" is not supported. Only class owners can change - access control - - The default access control is to to grant users readonly access. - You must explicitly grant insert/update access to users. To change - this, modify the line in - src/backend/utils/acl.h - that defines ACL_WORLD_DEFAULT - - Bug fixes: - * the bug where aggregates of empty tables were not run has been fixed. Now, - aggregates run on empty tables will return the initial conditions of the - aggregates. Thus, COUNT of an empty table will now properly return 0. - MAX/MIN of an empty table will return a tuple of value NULL. - * allow the use of \; inside the monitor - * the LISTEN/NOTIFY asynchronous notification mechanism now work - * NOTIFY in rule action bodies now work - * hash indexes work, and access methods in general should perform better. - creation of large btree indexes should be much faster. (thanks to Paul - Aoki) - - Other changes and enhancements: - * addition of an EXPLAIN statement used for explaining the query execution - plan (eg. "EXPLAIN SELECT * FROM EMP" prints out the execution plan for - the query). - * WARN and NOTICE messages no longer have timestamps on them. To turn on - timestamps of error messages, uncomment the line in - src/backend/utils/elog.h: - /* define ELOG_TIMESTAMPS */ - * On an access control violation, the message - "Either no such class or insufficient privilege" - will be given. This is the same message that is returned when - a class is not found. This dissuades non-privileged users from - guessing the existence of privileged classes. - * some additional system catalog changes have been made that are not - visible to the user. - - libpgtcl changes: - * The -oid option has been added to the "pg_result" tcl command. - pg_result -oid returns oid of the last tuple inserted. If the - last command was not an INSERT, then pg_result -oid returns "". - * the large object interface is available as pg_lo* tcl commands: - pg_lo_open, pg_lo_close, pg_lo_creat, etc. - - Portability enhancements and New Ports: - * flex/lex problems have been cleared up. Now, you should be able to use - flex instead of lex on any platforms. We no longer make assumptions of - what lexer you use based on the platform you use. - * The Linux-ELF port is now supported. Various configuration have been - tested: The following configuration is known to work: - kernel 1.2.10, gcc 2.6.3, libc 4.7.2, flex 2.5.2, bison 1.24 - with everything in ELF format, - - New utilities: - * ipcclean added to the distribution - ipcclean usually does not need to be run, but if your backend crashes - and leaves shared memory segments hanging around, ipcclean will - clean them up for you. - - New documentation: - * the user manual has been revised and libpq documentation added. - - ---------------------------------------------------------------------- - - Postgres95 Release 0.02 - - Release date: 1995-05-25 - - ---------------------------------------------------------------------- - -Changes - - Incompatible changes: - * The SQL statement for creating a database is 'CREATE DATABASE' instead - of 'CREATEDB'. Similarly, dropping a database is 'DROP DATABASE' instead - of 'DESTROYDB'. However, the names of the executables 'createdb' and - 'destroydb' remain the same. - - New tools: - * pgperl - a Perl (4.036) interface to Postgres95 - * pg_dump - a utility for dumping out a postgres database into a - script file containing query commands. The script files are in a ASCII - format and can be used to reconstruct the database, even on other - machines and other architectures. (Also good for converting - a Postgres 4.2 database to Postgres95 database.) - - The following ports have been incorporated into postgres95-beta-0.02: - * the NetBSD port by Alistair Crooks - * the AIX port by Mike Tung - * the Windows NT port by Jon Forrest (more stuff but not done yet) - * the Linux ELF port by Brian Gallew - - The following bugs have been fixed in postgres95-beta-0.02: - * new lines not escaped in COPY OUT and problem with COPY OUT when first - attribute is a '.' - * cannot type return to use the default user id in createuser - * SELECT DISTINCT on big tables crashes - * Linux installation problems - * monitor doesn't allow use of 'localhost' as PGHOST - * psql core dumps when doing \c or \l - * the "pgtclsh" target missing from src/bin/pgtclsh/Makefile - * libpgtcl has a hard-wired default port number - * SELECT DISTINCT INTO TABLE hangs - * CREATE TYPE doesn't accept 'variable' as the internallength - * wrong result using more than 1 aggregate in a SELECT - - ---------------------------------------------------------------------- - - Postgres95 Release 0.01 - - Release date: 1995-05-01 - - Initial release. diff --git a/INSTALL b/INSTALL deleted file mode 100644 index 1288a9da4a..0000000000 --- a/INSTALL +++ /dev/null @@ -1,871 +0,0 @@ - PostgreSQL Installation Instructions - - ------------------------------------------------------------------------ - -Short Version - -./configure -gmake -su -gmake install -adduser postgres -mkdir /usr/local/pgsql/data -chown postgres /usr/local/pgsql/data -su - postgres -/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data -/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 & -/usr/local/pgsql/bin/createdb test -/usr/local/pgsql/bin/psql test - -The long version is the rest of this document. - - ------------------------------------------------------------------------ - -Requirements - -In general, a modern Unix-compatible platform should be able to run -PostgreSQL. The platforms that had received specific testing at the time of -release are listed in the Section called Supported Platforms below. In the -"doc" subdirectory of the distribution there are several platform-specific -FAQ documents you might wish to consult if you are having trouble. - -The following prerequisites exist for building PostgreSQL: - - * GNU make is required; other make programs will *not* work. GNU make is - often installed under the name "gmake"; this document will always refer - to it by that name. (On some systems GNU make is the default tool with - the name "make".) To test for GNU make enter - - gmake --version - - It is recommended to use version 3.76.1 or later. - - * You need an ISO/ANSI C compiler. Recent versions of GCC are - recommendable, but PostgreSQL is known to build with a wide variety of - compilers from different vendors. - - * gzip is needed to unpack the distribution in the first place. If you - are reading this, you probably already got past that hurdle. - - * The GNU Readline library (for comfortable line editing and command - history retrieval) will automatically be used if found. You might wish - to install it before proceeding, but it is not essential. (On NetBSD, - the "libedit" library is readline-compatible and is used if - "libreadline" is not found.) - - * GNU Flex and Bison are needed to build from scratch, but they are *not* - required when building from a released source package because - pre-generated output files are included in released packages. You will - need these programs only when building from a CVS tree or if you - changed the actual scanner and parser definition files. If you need - them, be sure to get Flex 2.5.4 or later and Bison 1.28 or later. Other - yacc programs can sometimes be used, but doing so requires extra effort - and is not recommended. Other lex programs will definitely not work. - - * To build on Windows NT or Windows 2000 you need the Cygwin and cygipc - packages. See the file "doc/FAQ_MSWIN" for details. - -If you need to get a GNU package, you can find it at your local GNU mirror -site (see http://www.gnu.org/order/ftp.html for a list) or at -ftp://ftp.gnu.org/gnu/. - -Also check that you have sufficient disk space. You will need about 30 MB -for the source tree during compilation and about 10 MB for the installation -directory. An empty database cluster takes about 20 MB, databases take about -five times the amount of space that a flat text file with the same data -would take. If you are going to run the regression tests you will -temporarily need an extra 20 MB. Use the "df" command to check for disk -space. - - ------------------------------------------------------------------------ - -If You Are Upgrading - -The internal data storage format changes with new releases of PostgreSQL. -Therefore, if you are upgrading an existing installation that does not have -a version number "7.2.x", you must back up and restore your data as shown -here. These instructions assume that your existing installation is under the -"/usr/local/pgsql" directory, and that the data area is in -"/usr/local/pgsql/data". Substitute your paths appropriately. - - 1. Make sure that your database is not updated during or after the backup. - This does not affect the integrity of the backup, but the changed data - would of course not be included. If necessary, edit the permissions in - the file "/usr/local/pgsql/data/pg_hba.conf" (or equivalent) to - disallow access from everyone except you. - - 2. To dump your database installation, type: - - pg_dumpall > outputfile - - If you need to preserve OIDs (such as when using them as foreign keys), - then use the "-o" option when running "pg_dumpall". - - "pg_dumpall" does not save large objects. Check the Administrator's - Guide if you need to do this. - - Make sure that you use the "pg_dumpall" command from the version you - are currently running. 7.2's "pg_dumpall" should not be used on older - databases. - - 3. If you are installing the new version at the same location as the old - one then shut down the old server, at the latest before you install the - new files: - - kill -INT `cat /usr/local/pgsql/data/postmaster.pid` - - Versions prior to 7.0 do not have this "postmaster.pid" file. If you - are using such a version you must find out the process id of the server - yourself, for example by typing "ps ax | grep postmaster", and supply - it to the "kill" command. - - On systems that have PostgreSQL started at boot time, there is probably - a start-up file that will accomplish the same thing. For example, on a - Red Hat Linux system one might find that - - /etc/rc.d/init.d/postgresql stop - - works. Another possibility is "pg_ctl stop". - - 4. If you are installing in the same place as the old version then it is - also a good idea to move the old installation out of the way, in case - you have trouble and need to revert to it. Use a command like this: - - mv /usr/local/pgsql /usr/local/pgsql.old - -After you have installed PostgreSQL 7.2, create a new database directory and -start the new server. Remember that you must execute these commands while -logged in to the special database user account (which you already have if -you are upgrading). - -/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data -/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data - -Finally, restore your data with - -/usr/local/pgsql/bin/psql -d template1 -f outputfile - -using the *new* psql. - -You can also install the new version in parallel with the old one to -decrease the downtime. These topics are discussed at length in the -Administrator's Guide, which you are encouraged to read in any case. - - ------------------------------------------------------------------------ - -Installation Procedure - - 1. Configuration - - The first step of the installation procedure is to configure the source - tree for your system and choose the options you would like. This is - done by running the "configure" script. For a default installation - simply enter - - ./configure - - This script will run a number of tests to guess values for various - system dependent variables and detect some quirks of your operating - system, and finally will create several files in the build tree to - record what it found. - - The default configuration will build the server and utilities, as well - as all client applications and interfaces that require only a C - compiler. All files will be installed under "/usr/local/pgsql" by - default. - - You can customize the build and installation process by supplying one - or more of the following command line options to "configure": - - --prefix=PREFIX - - Install all files under the directory "PREFIX" instead of - "/usr/local/pgsql". The actual files will be installed into - various subdirectories; no files will ever be installed directly - into the "PREFIX" directory. - - If you have special needs, you can also customize the individual - subdirectories with the following options. - - --exec-prefix=EXEC-PREFIX - - You can install architecture-dependent files under a different - prefix, "EXEC-PREFIX", than what "PREFIX" was set to. This can be - useful to share architecture-independent files between hosts. If - you omit this, then "EXEC-PREFIX" is set equal to "PREFIX" and - both architecture-dependent and independent files will be - installed under the same tree, which is probably what you want. - - --bindir=DIRECTORY - - Specifies the directory for executable programs. The default is - "EXEC-PREFIX/bin", which normally means "/usr/local/pgsql/bin". - - --datadir=DIRECTORY - - Sets the directory for read-only data files used by the installed - programs. The default is "PREFIX/share". Note that this has - nothing to do with where your database files will be placed. - - --sysconfdir=DIRECTORY - - The directory for various configuration files, "PREFIX/etc" by - default. - - --libdir=DIRECTORY - - The location to install libraries and dynamically loadable - modules. The default is "EXEC-PREFIX/lib". - - --includedir=DIRECTORY - - The directory for installing C and C++ header files. The default - is "PREFIX/include". - - --docdir=DIRECTORY - - Documentation files, except "man" pages, will be installed into - this directory. The default is "PREFIX/doc". - - --mandir=DIRECTORY - - The man pages that come with PostgreSQL will be installed under - this directory, in their respective "manx" subdirectories. The - default is "PREFIX/man". - - Note: Care has been taken to make it possible to install - PostgreSQL into shared installation locations (such as - "/usr/local/include") without interfering with the namespace - of the rest of the system. First, the string "/postgresql" is - automatically appended to datadir, sysconfdir, and docdir, - unless the fully expanded directory name already contains the - string "postgres" or "pgsql". For example, if you choose - "/usr/local" as prefix, the documentation will be installed - in "/usr/local/doc/postgresql", but if the prefix is - "/opt/postgres", then it will be in "/opt/postgres/doc". - Second, the installation layout of the C and C++ header files - has been reorganized in the 7.2 release. The public header - files of the client interfaces are installed into includedir - and are namespace-clean. The internal header files and the - server header files are installed into private directories - under includedir. See the Programmer's Guide for information - about how to get at the header files for each interface. - Finally, a private subdirectory will also be created, if - appropriate, under libdir for dynamically loadable modules. - - --with-includes=DIRECTORIES - - "DIRECTORIES" is a colon-separated list of directories that will - be added to the list the compiler searches for header files. If - you have optional packages (such as GNU Readline) installed in a - non-standard location, you have to use this option and probably - also the corresponding "--with-libraries" option. - - Example: --with-includes=/opt/gnu/include:/usr/sup/include. - - --with-libraries=DIRECTORIES - - "DIRECTORIES" is a colon-separated list of directories to search - for libraries. You will probably have to use this option (and the - corresponding "--with-includes" option) if you have packages - installed in non-standard locations. - - Example: --with-libraries=/opt/gnu/lib:/usr/sup/lib. - - --enable-locale - - Enables locale support. There is a performance penalty associated - with locale support, but if you are not in an English-speaking - environment you will most likely need this. - - --enable-recode - - Enables single-byte character set recode support. See the - Administrator's Guide about this feature. - - --enable-multibyte - - Allows the use of multibyte character encodings (including - Unicode) and character set encoding conversion. Read the - Administrator's Guide for details. - - Note that some interfaces (such as Tcl or Java) expect all - character strings to be in Unicode, so this option will be - required to correctly support these interfaces. - - --enable-nls[=LANGUAGES] - - Enables Native Language Support (NLS), that is, the ability to - display a program's messages in a language other than English. - "LANGUAGES" is a space separated list of codes of the languages - that you want supported, for example --enable-nls='de fr'. (The - intersection between your list and the set of actually provided - translations will be computed automatically.) If you do not - specify a list, then all available translations are installed. - - To use this option, you will need an implementation of the gettext - API. Some operating systems have this built-in (e.g., Linux, - NetBSD, Solaris), for other systems you can download an add-on - package from here: http://www.postgresql.org/~petere/gettext.html. - If you are using the gettext implementation in the GNU C library - then you will additionally need the GNU gettext package for some - utility programs. For any of the other implementations you will - not need it. - - --with-pgport=NUMBER - - Set "NUMBER" as the default port number for server and clients. - The default is 5432. The port can always be changed later on, but - if you specify it here then both server and clients will have the - same default compiled in, which can be very convenient. Usually - the only good reason to select a non-default value is if you - intend to run multiple PostgreSQL servers on the same machine. - - --with-CXX - - Build the C++ interface library. - - --with-perl - - Build the Perl interface module. The Perl interface will be - installed at the usual place for Perl modules (typically under - "/usr/lib/perl"), so you must have root access to perform the - installation step (see step 4). You need to have Perl 5 installed - to use this option. - - --with-python - - Build the Python interface module. You need to have root access to - be able to install the Python module at its default place - ("/usr/lib/pythonx.y"). To be able to use this option, you must - have Python installed and your system needs to support shared - libraries. If you instead want to build a new complete interpreter - binary, you will have to do it manually. - - --with-tcl - - Builds components that require Tcl/Tk, which are libpgtcl, - pgtclsh, pgtksh, PgAccess, and PL/Tcl. But see below about - "--without-tk". - - --without-tk - - If you specify "--with-tcl" and this option, then programs that - require Tk (pgtksh and PgAccess) will be excluded. - - --with-tclconfig=DIRECTORY, --with-tkconfig=DIRECTORY - - Tcl/Tk installs the files "tclConfig.sh" and "tkConfig.sh", which - contain configuration information needed to build modules - interfacing to Tcl or Tk. These files are normally found - automatically at their well-known locations, but if you want to - use a different version of Tcl or Tk you can specify the directory - in which to find them. - - --enable-odbc - - Build the ODBC driver. By default, the driver will be independent - of a driver manager. To work better with a driver manager already - installed on your system, use one of the following options in - addition to this one. More information can be found in the - Programmer's Guide. - - --with-iodbc - - Build the ODBC driver for use with iODBC. - - --with-unixodbc - - Build the ODBC driver for use with unixODBC. - - --with-odbcinst=DIRECTORY - - Specifies the directory where the ODBC driver will expect its - "odbcinst.ini" configuration file. The default is - "/usr/local/pgsql/etc" or whatever you specified as - "--sysconfdir". It should be arranged that the driver reads the - same file as the driver manager. - - If either the option "--with-iodbc" or the option - "--with-unixodbc" is used, this option will be ignored because in - that case the driver manager handles the location of the - configuration file. - - --with-java - - Build the JDBC driver and associated Java packages. This option - requires Ant to be installed (as well as a JDK, of course). Refer - to the JDBC driver documentation in the Programmer's Guide for - more information. - - --with-krb4[=DIRECTORY], --with-krb5[=DIRECTORY] - - Build with support for Kerberos authentication. You can use either - Kerberos version 4 or 5, but not both. The "DIRECTORY" argument - specifies the root directory of the Kerberos installation; - "/usr/athena" is assumed as default. If the relevant header files - and libraries are not under a common parent directory, then you - must use the "--with-includes" and "--with-libraries" options in - addition to this option. If, on the other hand, the required files - are in a location that is searched by default (e.g., "/usr/lib"), - then you can leave off the argument. - - "configure" will check for the required header files and libraries - to make sure that your Kerberos installation is sufficient before - proceeding. - - --with-krb-srvnam=NAME - - The name of the Kerberos service principal. postgres is the - default. There's probably no reason to change this. - - --with-openssl[=DIRECTORY] - - Build with support for SSL (encrypted) connections. This requires - the OpenSSL package to be installed. The "DIRECTORY" argument - specifies the root directory of the OpenSSL installation; the - default is "/usr/local/ssl". - - "configure" will check for the required header files and libraries - to make sure that your OpenSSL installation is sufficient before - proceeding. - - --with-pam - - Build with PAM (Pluggable Authentication Modules) support. - - --enable-syslog - - Enables the PostgreSQL server to use the syslog logging facility. - (Using this option does not mean that you must log with syslog or - even that it will be done by default, it simply makes it possible - to turn that option on at run time.) - - --enable-debug - - Compiles all programs and libraries with debugging symbols. This - means that you can run the programs through a debugger to analyze - problems. This enlarges the size of the installed executables - considerably, and on non-GCC compilers it usually also disables - compiler optimization, causing slowdowns. However, having the - symbols available is extremely helpful for dealing with any - problems that may arise. Currently, this option is recommended for - production installations only if you use GCC. But you should - always have it on if you are doing development work or running a - beta version. - - --enable-cassert - - Enables assertion checks in the server, which test for many "can't - happen" conditions. This is invaluable for code development - purposes, but the tests slow things down a little. Also, having - the tests turned on won't necessarily enhance the stability of - your server! The assertion checks are not categorized for - severity, and so what might be a relatively harmless bug will - still lead to server restarts if it triggers an assertion failure. - Currently, this option is not recommended for production use, but - you should have it on for development work or when running a beta - version. - - --enable-depend - - Enables automatic dependency tracking. With this option, the - makefiles are set up so that all affected object files will be - rebuilt when any header file is changed. This is useful if you are - doing development work, but is just wasted overhead if you intend - only to compile once and install. At present, this option will - work only if you use GCC. - - If you prefer a C or C++ compiler different from the one "configure" - picks then you can set the environment variables CC or CXX, - respectively, to the program of your choice. Similarly, you can - override the default compiler flags with the CFLAGS and CXXFLAGS - variables. For example: - - env CC=/opt/bin/gcc CFLAGS='-O2 -pipe' ./configure - - 2. Build - - To start the build, type - - gmake - - (Remember to use GNU make.) The build may take anywhere from 5 minutes - to half an hour depending on your hardware. The last line displayed - should be - - All of PostgreSQL is successfully made. Ready to install. - - 3. Regression Tests - - If you want to test the newly built server before you install it, you - can run the regression tests at this point. The regression tests are a - test suite to verify that PostgreSQL runs on your machine in the way - the developers expected it to. Type - - gmake check - - (This won't work as root; do it as an unprivileged user.) It is - possible that some tests fail, due to differences in error message - wording or floating point results. The file "src/test/regress/README" - and the Administrator's Guide contain detailed information about - interpreting the test results. You can repeat this test at any later - time by issuing the same command. - - 4. Installing The Files - - Note: If you are upgrading an existing system and are going - to install the new files over the old ones, then you should - have backed up your data and shut down the old server by now, - as explained in the Section called If You Are Upgrading - above. - - To install PostgreSQL enter - - gmake install - - This will install files into the directories that were specified in - step 1. Make sure that you have appropriate permissions to write into - that area. Normally you need to do this step as root. Alternatively, - you could create the target directories in advance and arrange for - appropriate permissions to be granted. - - If you built the Perl or Python interfaces and you were not the root - user when you executed the above command then that part of the - installation probably failed. In that case you should become the root - user and then do - - gmake -C src/interfaces/perl5 install - gmake -C src/interfaces/python install - - If you do not have superuser access you are on your own: you can still - take the required files and place them in other directories where Perl - or Python can find them, but how to do that is left as an exercise. - - The standard installation provides only the header files needed for - client application development. If you plan to do any server-side - program development (such as custom functions or data types written in - C), then you may want to install the entire PostgreSQL include tree - into your target include directory. To do that, enter - - gmake install-all-headers - - This adds a megabyte or two to the installation footprint, and is only - useful if you don't plan to keep the whole source tree around for - reference. (If you do, you can just use the source's include directory - when building server-side software.) - - Client-only installation: If you want to install only the client - applications and interface libraries, then you can use these commands: - - gmake -C src/bin install - gmake -C src/include install - gmake -C src/interfaces install - gmake -C doc install - - To undo the installation use the command "gmake uninstall". However, - this will not remove any created directories. - -After the installation you can make room by removing the built files from -the source tree with the "gmake clean" command. This will preserve the files -made by the configure program, so that you can rebuild everything with -"gmake" later on. To reset the source tree to the state in which it was -distributed, use "gmake distclean". If you are going to build for several -platforms from the same source tree you must do this and re-configure for -each build. - -If you perform a build and then discover that your configure options were -wrong, or if you change anything that configure investigates (for example, -you install GNU Readline), then it's a good idea to do "gmake distclean" -before reconfiguring and rebuilding. Without this, your changes in -configuration choices may not propagate everywhere they need to. - - ------------------------------------------------------------------------ - -Post-Installation Setup - -Shared Libraries - -On some systems that have shared libraries (which most systems do) you need -to tell your system how to find the newly installed shared libraries. The -systems on which this is *not* necessary include BSD/OS, FreeBSD, HP-UX, -IRIX, Linux, NetBSD, OpenBSD, Tru64 UNIX (formerly Digital UNIX), and -Solaris. - -The method to set the shared library search path varies between platforms, -but the most widely usable method is to set the environment variable -LD_LIBRARY_PATH like so: In Bourne shells ("sh", "ksh", "bash", "zsh") - -LD_LIBRARY_PATH=/usr/local/pgsql/lib -export LD_LIBRARY_PATH - -or in "csh" or "tcsh" - -setenv LD_LIBRARY_PATH /usr/local/pgsql/lib - -Replace /usr/local/pgsql/lib with whatever you set "--libdir" to in step 1. -You should put these commands into a shell start-up file such as -"/etc/profile" or "~/.bash_profile". Some good information about the caveats -associated with this method can be found at -http://www.visi.com/~barr/ldpath.html. - -On some systems it might be preferable to set the environment variable -LD_RUN_PATH *before* building. - -If in doubt, refer to the manual pages of your system (perhaps "ld.so" or -"rld"). If you later on get a message like - -psql: error in loading shared libraries -libpq.so.2.1: cannot open shared object file: No such file or directory - -then this step was necessary. Simply take care of it then. - -If you are on BSD/OS, Linux, or SunOS 4 and you have root access you can run - -/sbin/ldconfig /usr/local/pgsql/lib - -(or equivalent directory) after installation to enable the run-time linker -to find the shared libraries faster. Refer to the manual page of "ldconfig" -for more information. On FreeBSD, NetBSD, and OpenBSD the command is - -/sbin/ldconfig -m /usr/local/pgsql/lib - -instead. Other systems are not known to have an equivalent command. - - ------------------------------------------------------------------------ - -Environment Variables - -If you installed into "/usr/local/pgsql" or some other location that is not -searched for programs by default, you need to add "/usr/local/pgsql/bin" (or -whatever you set "--bindir" to in step 1) into your PATH. To do this, add -the following to your shell start-up file, such as "~/.bash_profile" (or -"/etc/profile", if you want it to affect every user): - -PATH=/usr/local/pgsql/bin:$PATH - -If you are using "csh" or "tcsh", then use this command: - -set path = ( /usr/local/pgsql/bin $path ) - -To enable your system to find the man documentation, you need to add a line -like the following to a shell start-up file: - -MANPATH=/usr/local/pgsql/man:$MANPATH - -The environment variables PGHOST and PGPORT specify to client applications -the host and port of the database server, overriding the compiled-in -defaults. If you are going to run client applications remotely then it is -convenient if every user that plans to use the database sets PGHOST. This is -not required, however: the settings can be communicated via command line -options to most client programs. - - ------------------------------------------------------------------------ - -Getting Started - -The following is a quick summary of how to get PostgreSQL up and running -once installed. The Administrator's Guide contains more information. - - 1. Create a user account for the PostgreSQL server. This is the user the - server will run as. For production use you should create a separate, - unprivileged account ("postgres" is commonly used). If you do not have - root access or just want to play around, your own user account is - enough, but running the server as root is a security risk and will not - work. - - adduser postgres - - 2. Create a database installation with the "initdb" command. To run - "initdb" you must be logged in to your PostgreSQL server account. It - will not work as root. - - root# mkdir /usr/local/pgsql/data - root# chown postgres /usr/local/pgsql/data - root# su - postgres - postgres$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data - - The "-D" option specifies the location where the data will be stored. - You can use any path you want, it does not have to be under the - installation directory. Just make sure that the server account can - write to the directory (or create it, if it doesn't already exist) - before starting "initdb", as illustrated here. - - 3. The previous step should have told you how to start up the database - server. Do so now. The command should look something like - - /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data - - This will start the server in the foreground. To put the server in the - background use something like - - nohup /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data \ - >server.log 2>&1 or - , not to the people listed here. - - OS Processor Version Reported Remarks - AIX RS6000 7.2 2001-12-19, Andreas Zeugswetter see also - (), doc/FAQ_AIX - Tatsuo Ishii - () - BeOS x86 7.2 2001-11-29, Cyril Velter 5.0.4 - () - BSD/OS x86 7.2 2001-11-27, Bruce Momjian 4.2 - () - FreeBSDAlpha 7.2 2001-12-18, Chris Kings-Lynne - () - FreeBSDx86 7.2 2001-11-14, Chris Kings-Lynne - () - HP-UX PA-RISC 7.2 2001-11-29, Joseph Conway 11.00 and 10.20; - (), Tom see also - Lane () doc/FAQ_HPUX - IRIX MIPS 7.2 2001-11-28, Luis Amigo 6.5.13, MIPSPro - () 7.30 - Linux Alpha 7.2 2001-11-16, Tom Lane 2.2.18; tested at - () SourceForge - Linux armv4l 7.2 2001-12-10, Mark Knox 2.2.x - () - Linux MIPS 7.2 2001-11-15, Hisao Shibuya 2.0.x; Cobalt - () Qube2 - Linux PlayStation 7.2 2001-12-12, Permaine Cheung #undef - 2 ) HAS_TEST_AND_SET, - slock_t - Linux PPC74xx 7.2 2001-11-16, Tom Lane 2.2.18; Apple G3 - () - Linux S/390 7.2 2001-12-12, Permaine Cheung - ) - Linux Sparc 7.2 2001-11-28, Doug McNaught 2.2.19 - () - Linux x86 7.2 2001-11-15, Thomas Lockhart 2.0.x, 2.2.x, - () 2.4.x - MacOS XPPC 7.2 2001-11-28, Gavin Sherry 10.1.x - () - NetBSD Alpha 7.2 2001-11-20, Thomas Thai 1.5W - () - NetBSD arm32 7.1 2001-03-21, Patrick Welche 1.5E - () - NetBSD m68k 7.0 2000-04-10, Henry B. Hotz Mac 8xx - () - NetBSD PPC 7.2 2001-11-28, Bill Studenmund 1.5 - () - NetBSD Sparc 7.2 2001-12-03, Matthew Green 32- and 64-bit - () builds - NetBSD VAX 7.1 2001-03-30, Tom I. Helbekkmo 1.5 - () - NetBSD x86 7.2 2001-11-28, Bill Studenmund 1.5 - () - OpenBSDSparc 7.2 2001-11-27, Brandon Palmer 3.0 - () - OpenBSDx86 7.2 2001-11-26, Brandon Palmer 3.0 - () - Open x86 7.2 2001-11-28, OU-8 Larry Rosenman see also - UNIX (), UW-7 Olivier doc/FAQ_SCO - Prenant () - QNX 4 x86 7.2 2001-12-10, Bernd Tegge 4.25; see also - RTOS () doc/FAQ_QNX4 - SolarisSparc 7.2 2001-11-12, Andrew Sullivan 2.6-8; see also - () doc/FAQ_Solaris - Solarisx86 7.2 2001-11-28, Martin Renters 2.8; see also - () doc/FAQ_Solaris - SunOS 4Sparc 7.2 2001-12-04, Tatsuo Ishii - () - Tru64 Alpha 7.2 2001-11-26, Alessio Bragadini 5.0; 4.0g with cc - UNIX (), Bernd and gcc - Tegge () - Windowsx86 7.2 2001-12-13, Dave Page with Cygwin; see - (), doc/FAQ_MSWIN - Jason Tishler - () - Windowsx86 7.2 2001-12-10, Dave Page native is - () client-side only; - see - Administrator's - Guide - -Unsupported Platforms: The following platforms are either known not to work, -or they used to work in a previous release and we did not receive explicit -confirmation of a successful test with version 7.2 at the time this list was -compiled. We include these here to let you know that these platforms *could* -be supported if given some attention. - - OS Processor Version Reported Remarks - DG/UX m88k 6.3 1998-03-01, Brian E Gallew no recent - 5.4R4.11 () reports - MkLinux DR1PPC750 7.0 2001-04-03, Tatsuo Ishii 7.1 needs OS - () update? - NeXTSTEP x86 6.x 1998-03-01, David Wetzel bit rot - () suspected - QNX RTOS v6x86 7.2 2001-11-20, Igor Kovalenko patches - () available in - archives, - but too late - for 7.2 - SCO x86 6.5 1999-05-25, Andrew Merrill 7.2 should - OpenServer () work, but no - 5 reports; see - also - doc/FAQ_SCO - System V R4m88k 6.2.1 1998-03-01, Doug Winterburn needs new - () TAS spinlock - code - System V R4MIPS 6.4 1998-10-28, Frank Ridderbusch no recent - () reports - Ultrix MIPS 7.1 2001-03-26 TAS spinlock - code not - detected - Ultrix VAX 6.x 1998-03-01 diff --git a/Makefile b/Makefile deleted file mode 100644 index 9de7cce180..0000000000 --- a/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -# The PostgreSQL make files exploit features of GNU make that other -# makes do not have. Because it is a common mistake for users to try -# to build Postgres with a different make, we have this make file -# that, as a service, will look for a GNU make and invoke it, or show -# an error message if none could be found. - -# If the user were using GNU make now, this file would not get used -# because GNU make uses a make file named "GNUmakefile" in preference -# to "Makefile" if it exists. PostgreSQL is shipped with a -# "GNUmakefile". If the user hasn't run the configure script yet, the -# GNUmakefile won't exist yet, so we catch that case as well. - - -all check install installdirs install-all-headers installcheck uninstall dep depend clean distclean maintainer-clean: - @if [ ! -f GNUmakefile ] ; then \ - echo "You need to run the 'configure' program first. See the file"; \ - echo "'INSTALL' for installation instructions." ; \ - false ; \ - fi - @IFS=':' ; \ - for dir in $$PATH; do \ - for prog in gmake gnumake make; do \ - if [ -f $$dir/$$prog ] && ( $$dir/$$prog -f /dev/null --version 2>/dev/null | grep GNU >/dev/null 2>&1 ) ; then \ - GMAKE=$$dir/$$prog; \ - break 2; \ - fi; \ - done; \ - done; \ - \ - if [ x"$${GMAKE+set}" = xset ]; then \ - echo "Using GNU make found at $${GMAKE}"; \ - $${GMAKE} $@ ; \ - else \ - echo "You must use GNU make to build PostgreSQL." ; \ - false; \ - fi diff --git a/README b/README deleted file mode 100644 index a02403b8b8..0000000000 --- a/README +++ /dev/null @@ -1,26 +0,0 @@ -PostgreSQL Database Management System -===================================== - -This directory contains the source code distribution of the PostgreSQL -database management system. - -PostgreSQL is an advanced object-relational database management system -that supports an extended subset of the SQL standard, including -transactions, foreign keys, subqueries, triggers, user-defined types -and functions. This distribution also contains several language -bindings, including C, C++, Perl, Python, and Tcl, as well as drivers -for JDBC and ODBC. - -See the file INSTALL for instructions on how to build and install -PostgreSQL. That file also lists supported operating systems and -hardware platforms and contains information regarding any other -software packages that are required to build or run the PostgreSQL -system. Changes between all PostgreSQL releases are recorded in the -file HISTORY. Copyright and license information can be found in the -file COPYRIGHT. A comprehensive documentation set is included in this -distribution; it can be read as described in the installation -instructions. - -The latest version of this software may be obtained at -ftp://ftp.postgresql.org/pub/. For more information look at our web -site located at http://www.postgresql.org/. diff --git a/aclocal.m4 b/aclocal.m4 deleted file mode 100644 index 1edb7f9800..0000000000 --- a/aclocal.m4 +++ /dev/null @@ -1,13 +0,0 @@ -dnl $Header: /cvsroot/pgsql/aclocal.m4,v 1.14 2002/03/29 17:32:48 petere Exp $ -m4_include([config/ac_func_accept_argtypes.m4]) -m4_include([config/c-compiler.m4]) -m4_include([config/c-library.m4]) -m4_include([config/cxx.m4]) -m4_include([config/docbook.m4]) -m4_include([config/general.m4]) -m4_include([config/java.m4]) -m4_include([config/libtool.m4]) -m4_include([config/perl.m4]) -m4_include([config/programs.m4]) -m4_include([config/python.m4]) -m4_include([config/tcl.m4]) diff --git a/config/ac_func_accept_argtypes.m4 b/config/ac_func_accept_argtypes.m4 deleted file mode 100644 index f22d905659..0000000000 --- a/config/ac_func_accept_argtypes.m4 +++ /dev/null @@ -1,76 +0,0 @@ -# $Header: /cvsroot/pgsql/config/ac_func_accept_argtypes.m4,v 1.4 2002/03/29 17:32:53 petere Exp $ -# This comes from the official Autoconf macro archive at -# -# (I removed the $ before the Id CVS keyword below.) - - -dnl @synopsis AC_FUNC_ACCEPT_ARGTYPES -dnl -dnl Checks the data types of the three arguments to accept(). Results are -dnl placed into the symbols ACCEPT_TYPE_ARG[123], consistent with the -dnl following example: -dnl -dnl #define ACCEPT_TYPE_ARG1 int -dnl #define ACCEPT_TYPE_ARG2 struct sockaddr * -dnl #define ACCEPT_TYPE_ARG3 socklen_t -dnl -dnl This macro requires AC_CHECK_HEADERS to have already verified the -dnl presence or absence of sys/types.h and sys/socket.h. -dnl -dnl NOTE: This is just a modified version of the AC_FUNC_SELECT_ARGTYPES -dnl macro. Credit for that one goes to David MacKenzie et. al. -dnl -dnl @version Id: ac_func_accept_argtypes.m4,v 1.1 1999/12/03 11:29:29 simons Exp $ -dnl @author Daniel Richard G. -dnl - -# PostgreSQL local changes: In the original version ACCEPT_TYPE_ARG3 -# is a pointer type. That's kind of useless because then you can't -# use the macro to define a corresponding variable. We also make the -# reasonable(?) assumption that you can use arg3 for getsocktype etc. -# as well (i.e., anywhere POSIX.2 has socklen_t). -# -# arg2 can also be `const' (e.g., RH 4.2). Change the order of tests -# for arg3 so that `int' is first, in case there is no prototype at all. -# -# Solaris 7 and 8 have arg3 as 'void *' (disguised as 'Psocklen_t' -# which is *not* 'socklen_t *'). If we detect that, then we assume -# 'int' as the result, because that ought to work best. - -AC_DEFUN([AC_FUNC_ACCEPT_ARGTYPES], -[AC_MSG_CHECKING([types of arguments for accept()]) - AC_CACHE_VAL(ac_cv_func_accept_arg1,dnl - [AC_CACHE_VAL(ac_cv_func_accept_arg2,dnl - [AC_CACHE_VAL(ac_cv_func_accept_arg3,dnl - [for ac_cv_func_accept_arg1 in 'int' 'unsigned int'; do - for ac_cv_func_accept_arg2 in 'struct sockaddr *' 'const struct sockaddr *' 'void *'; do - for ac_cv_func_accept_arg3 in 'int' 'size_t' 'socklen_t' 'unsigned int' 'void'; do - AC_TRY_COMPILE( -[#ifdef HAVE_SYS_TYPES_H -#include -#endif -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -extern int accept ($ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *);], - [], [ac_not_found=no; break 3], [ac_not_found=yes]) - done - done - done - if test "$ac_not_found" = yes; then - AC_MSG_ERROR([could not determine argument types]) - fi - if test "$ac_cv_func_accept_arg3" = "void"; then - ac_cv_func_accept_arg3=int - fi - ])dnl AC_CACHE_VAL - ])dnl AC_CACHE_VAL - ])dnl AC_CACHE_VAL - AC_MSG_RESULT([$ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *]) - AC_DEFINE_UNQUOTED(ACCEPT_TYPE_ARG1, $ac_cv_func_accept_arg1, - [Define to the type of arg 1 of 'accept']) - AC_DEFINE_UNQUOTED(ACCEPT_TYPE_ARG2, $ac_cv_func_accept_arg2, - [Define to the type of arg 2 of 'accept']) - AC_DEFINE_UNQUOTED(ACCEPT_TYPE_ARG3, $ac_cv_func_accept_arg3, - [Define to the type of arg 3 of 'accept']) -]) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 deleted file mode 100644 index 5171e1e6d9..0000000000 --- a/config/c-compiler.m4 +++ /dev/null @@ -1,94 +0,0 @@ -# Macros to detect C compiler features -# $Header: /cvsroot/pgsql/config/c-compiler.m4,v 1.5 2002/03/29 17:32:53 petere Exp $ - - -# PGAC_C_SIGNED -# ------------- -# Check if the C compiler understands signed types. -AC_DEFUN([PGAC_C_SIGNED], -[AC_CACHE_CHECK(for signed types, pgac_cv_c_signed, -[AC_TRY_COMPILE([], -[signed char c; signed short s; signed int i;], -[pgac_cv_c_signed=yes], -[pgac_cv_c_signed=no])]) -if test x"$pgac_cv_c_signed" = xno ; then - AC_DEFINE(signed,, [Define empty if the C compiler does not understand signed types]) -fi])# PGAC_C_SIGNED - - - -# PGAC_TYPE_64BIT_INT(TYPE) -# ------------------------- -# Check if TYPE is a working 64 bit integer type. Set HAVE_TYPE_64 to -# yes or no respectively, and define HAVE_TYPE_64 if yes. -AC_DEFUN([PGAC_TYPE_64BIT_INT], -[define([Ac_define], [translit([have_$1_64], [a-z *], [A-Z_P])])dnl -define([Ac_cachevar], [translit([pgac_cv_type_$1_64], [ *], [_p])])dnl -AC_CACHE_CHECK([whether $1 is 64 bits], [Ac_cachevar], -[AC_TRY_RUN( -[typedef $1 int64; - -/* - * These are globals to discourage the compiler from folding all the - * arithmetic tests down to compile-time constants. - */ -int64 a = 20000001; -int64 b = 40000005; - -int does_int64_work() -{ - int64 c,d; - - if (sizeof(int64) != 8) - return 0; /* definitely not the right size */ - - /* Do perfunctory checks to see if 64-bit arithmetic seems to work */ - c = a * b; - d = (c + b) / b; - if (d != a+1) - return 0; - return 1; -} -main() { - exit(! does_int64_work()); -}], -[Ac_cachevar=yes], -[Ac_cachevar=no], -[Ac_cachevar=no -dnl We will do better here with Autoconf 2.50 -AC_MSG_WARN([64 bit arithmetic disabled when cross-compiling])])]) - -Ac_define=$Ac_cachevar -if test x"$Ac_cachevar" = xyes ; then - AC_DEFINE(Ac_define,, [Set to 1 if `]$1[' is 64 bits]) -fi -undefine([Ac_define])dnl -undefine([Ac_cachevar])dnl -])# PGAC_TYPE_64BIT_INT - - - -# PGAC_CHECK_ALIGNOF(TYPE, [INCLUDES = DEFAULT-INCLUDES]) -# ----------------------------------------------------- -# Find the alignment requirement of the given type. Define the result -# as ALIGNOF_TYPE. This macro works even when cross compiling. -# (Modelled after AC_CHECK_SIZEOF.) - -AC_DEFUN([PGAC_CHECK_ALIGNOF], -[AS_LITERAL_IF([$1], [], - [AC_FATAL([$0: requires literal arguments])])dnl -AC_CHECK_TYPE([$1], [], [], [$2]) -AC_CACHE_CHECK([alignment of $1], [AS_TR_SH([pgac_cv_alignof_$1])], -[if test "$AS_TR_SH([ac_cv_type_$1])" = yes; then - _AC_COMPUTE_INT([((char*) & pgac_struct.field) - ((char*) & pgac_struct)], - [AS_TR_SH([pgac_cv_alignof_$1])], - [AC_INCLUDES_DEFAULT([$2]) -struct { char filler; $1 field; } pgac_struct;], - [AC_MSG_ERROR([cannot compute alignment of $1, 77])]) -else - AS_TR_SH([pgac_cv_alignof_$1])=0 -fi])dnl -AC_DEFINE_UNQUOTED(AS_TR_CPP(alignof_$1), - [$AS_TR_SH([pgac_cv_alignof_$1])], - [The alignment requirement of a `$1']) -])# PGAC_CHECK_ALIGNOF diff --git a/config/c-library.m4 b/config/c-library.m4 deleted file mode 100644 index 10a91d43b4..0000000000 --- a/config/c-library.m4 +++ /dev/null @@ -1,112 +0,0 @@ -# Macros that test various C library quirks -# $Header: /cvsroot/pgsql/config/c-library.m4,v 1.13 2002/03/30 00:59:52 petere Exp $ - - -# PGAC_VAR_INT_TIMEZONE -# --------------------- -# Check if the global variable `timezone' exists. If so, define -# HAVE_INT_TIMEZONE. -AC_DEFUN([PGAC_VAR_INT_TIMEZONE], -[AC_CACHE_CHECK(for int timezone, pgac_cv_var_int_timezone, -[AC_TRY_LINK([#include -int res;], - [res = timezone / 60;], - [pgac_cv_var_int_timezone=yes], - [pgac_cv_var_int_timezone=no])]) -if test x"$pgac_cv_var_int_timezone" = xyes ; then - AC_DEFINE(HAVE_INT_TIMEZONE,, [Set to 1 if you have the global variable timezone]) -fi])# PGAC_VAR_INT_TIMEZONE - - -# PGAC_FUNC_GETTIMEOFDAY_1ARG -# --------------------------- -# Check if gettimeofday() has only one arguments. (Normal is two.) -# If so, define GETTIMEOFDAY_1ARG. -AC_DEFUN([PGAC_FUNC_GETTIMEOFDAY_1ARG], -[AC_CACHE_CHECK(whether gettimeofday takes only one argument, -pgac_cv_func_gettimeofday_1arg, -[AC_TRY_COMPILE([#include ], -[struct timeval *tp; -struct timezone *tzp; -gettimeofday(tp,tzp);], -[pgac_cv_func_gettimeofday_1arg=no], -[pgac_cv_func_gettimeofday_1arg=yes])]) -if test x"$pgac_cv_func_gettimeofday_1arg" = xyes ; then - AC_DEFINE(GETTIMEOFDAY_1ARG,, [Set to 1 if gettimeofday() takes only 1 argument]) -fi])# PGAC_FUNC_GETTIMEOFDAY_1ARG - - -# PGAC_FUNC_MEMCMP -# ---------------- -# Check if memcmp() properly handles negative bytes and returns +/-. -# SunOS does not. -# AC_FUNC_MEMCMP -AC_DEFUN([PGAC_FUNC_MEMCMP], -[AC_CACHE_CHECK(for 8-bit clean memcmp, pgac_cv_func_memcmp_clean, -[AC_TRY_RUN([ -main() -{ - char c0 = 0x40, c1 = 0x80, c2 = 0x81; - exit(memcmp(&c0, &c2, 1) < 0 && memcmp(&c1, &c2, 1) < 0 ? 0 : 1); -} -], pgac_cv_func_memcmp_clean=yes, pgac_cv_func_memcmp_clean=no, -pgac_cv_func_memcmp_clean=no)]) -if test $pgac_cv_func_memcmp_clean = no ; then - MEMCMP=memcmp.o -else - MEMCMP= -fi -AC_SUBST(MEMCMP)dnl -]) - - -# PGAC_UNION_SEMUN -# ---------------- -# Check if `union semun' exists. Define HAVE_UNION_SEMUN if so. -# If it doesn't then one could define it as -# union semun { int val; struct semid_ds *buf; unsigned short *array; } -AC_DEFUN([PGAC_UNION_SEMUN], -[AC_CHECK_TYPES([union semun], [], [], -[#include -#include -#include ])])# PGAC_UNION_SEMUN - - -# PGAC_STRUCT_SOCKADDR_UN -# ----------------------- -# If `struct sockaddr_un' exists, define HAVE_STRUCT_SOCKADDR_UN. If -# it is missing then one could define it as { short int sun_family; -# char sun_path[108]; }. (Requires test for !) -AC_DEFUN([PGAC_STRUCT_SOCKADDR_UN], -[AC_CHECK_TYPES([struct sockaddr_un], [], [], -[#include -#ifdef HAVE_SYS_UN_H -#include -#endif -])])# PGAC_STRUCT_SOCKADDR_UN - - -# PGAC_FUNC_POSIX_SIGNALS -# ----------------------- -# Check to see if the machine has the POSIX signal interface. Define -# HAVE_POSIX_SIGNALS if so. Also set the output variable HAVE_POSIX_SIGNALS -# to yes or no. -# -# Note that this test only compiles a test program, it doesn't check -# whether the routines actually work. If that becomes a problem, make -# a fancier check. -AC_DEFUN([PGAC_FUNC_POSIX_SIGNALS], -[AC_CACHE_CHECK(for POSIX signal interface, pgac_cv_func_posix_signals, -[AC_TRY_LINK([#include -], -[struct sigaction act, oact; -sigemptyset(&act.sa_mask); -act.sa_flags = SA_RESTART; -sigaction(0, &act, &oact);], -[pgac_cv_func_posix_signals=yes], -[pgac_cv_func_posix_signals=no])]) -if test x"$pgac_cv_func_posix_signals" = xyes ; then - AC_DEFINE(HAVE_POSIX_SIGNALS,, [Set to 1 if you have the POSIX signal interface]) -fi -HAVE_POSIX_SIGNALS=$pgac_cv_func_posix_signals -AC_SUBST(HAVE_POSIX_SIGNALS)])# PGAC_FUNC_POSIX_SIGNALS diff --git a/config/config.guess b/config/config.guess deleted file mode 100755 index dc70191a98..0000000000 --- a/config/config.guess +++ /dev/null @@ -1,1308 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. - -timestamp='2001-08-04' - -# 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 . -# Please send patches to . -# -# 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 build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; - --version | -v ) - echo "$version" ; exit 0 ;; - --help | --h* | -h ) - echo "$usage"; exit 0 ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - - -dummy=dummy-$$ -trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int dummy(){}" > $dummy.c ; - for c in cc gcc c89 ; do - ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; - if test $? = 0 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - rm -f $dummy.c $dummy.o $dummy.rel ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -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 - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # Netbsd (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # Determine the machine/vendor (is the vendor relevant). - case "${UNAME_MACHINE}" in - amiga) machine=m68k-unknown ;; - arm32) machine=arm-unknown ;; - atari*) machine=m68k-atari ;; - sun3*) machine=m68k-sun ;; - mac68k) machine=m68k-apple ;; - macppc) machine=powerpc-apple ;; - hp3[0-9][05]) machine=m68k-hp ;; - ibmrt|romp-ibm) machine=romp-ibm ;; - *) machine=${UNAME_MACHINE}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE}" in - i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit 0 ;; - 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 <$dummy.s - .data -\$Lformat: - .byte 37,100,45,37,120,10,0 # "%d-%x\n" - - .text - .globl main - .align 4 - .ent main -main: - .frame \$30,16,\$26,0 - ldgp \$29,0(\$27) - .prologue 1 - .long 0x47e03d80 # implver \$0 - lda \$2,-1 - .long 0x47e20c21 # amask \$2,\$1 - lda \$16,\$Lformat - mov \$0,\$17 - not \$1,\$18 - jsr \$26,printf - ldgp \$29,0(\$26) - mov 0,\$16 - jsr \$26,exit - .end main -EOF - eval $set_cc_for_build - $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null - if test "$?" = 0 ; then - case `./$dummy` in - 0-0) - UNAME_MACHINE="alpha" - ;; - 1-0) - UNAME_MACHINE="alphaev5" - ;; - 1-1) - UNAME_MACHINE="alphaev56" - ;; - 1-101) - UNAME_MACHINE="alphapca56" - ;; - 2-303) - UNAME_MACHINE="alphaev6" - ;; - 2-307) - UNAME_MACHINE="alphaev67" - ;; - esac - fi - rm -f $dummy.s $dummy - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit 0 ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit 0 ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit 0 ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - 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 ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit 0 ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit 0;; - SR2?01:HI-UX/MPP:*:* | SR8000: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*:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit 0 ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit 0 ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit 0 ;; - sun3*:OpenBSD:*:*) - echo m68k-unknown-openbsd${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 ;; - 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:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit 0 ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #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 - eval $set_cc_for_build - $CC_FOR_BUILD $dummy.c -o $dummy \ - && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - echo mips-mips-riscos${UNAME_RELEASE} - exit 0 ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - 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 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${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 ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit 0 ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - eval $set_cc_for_build - $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $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:*:[45]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${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=${UNAME_VERSION}.${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 BSD 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:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - case "${HPUX_REV}" in - 11.[0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - esac ;; - esac - fi ;; - esac - if [ "${HP_ARCH}" = "" ]; then - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - 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 - eval $set_cc_for_build - (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` - if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi - rm -f $dummy.c $dummy - fi ;; - esac - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit 0 ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit 0 ;; - 3050*:HI-UX:*:*) - sed 's/^ //' << EOF >$dummy.c - #include - 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 - eval $set_cc_for_build - $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $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 ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - 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 ;; - hppa*:OpenBSD:*:*) - echo hppa-unknown-openbsd - 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} | sed -e 's/\.[^.]*$/.X/' - 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/ \ - -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*T3D:*:*:*) - echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY-2:*:*:*) - echo cray2-cray-unicos - exit 0 ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit 0 ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; - *:FreeBSD:*:*) - echo ${UNAME_MACHINE}-unknown-freebsd`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 ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit 0 ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i386-pc-interix - exit 0 ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - 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 ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit 0 ;; - arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux - exit 0 ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - mips:Linux:*:*) - case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in - big) echo mips-unknown-linux-gnu && exit 0 ;; - little) echo mipsel-unknown-linux-gnu && exit 0 ;; - esac - ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit 0 ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit 0 ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev67 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit 0 ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit 0 ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit 0 ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit 0 ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit 0 ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - ld_supported_targets=`cd /; ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit 0 ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit 0 ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit 0 ;; - esac - # Determine whether the default compiler is a.out or elf - cat >$dummy.c < -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif -#ifdef __ELF__ -# ifdef __GLIBC__ -# if __GLIBC__ >= 2 - printf ("%s-pc-linux-gnu\n", argv[1]); -# else - printf ("%s-pc-linux-gnulibc1\n", argv[1]); -# endif -# else - printf ("%s-pc-linux-gnulibc1\n", argv[1]); -# endif -#else - printf ("%s-pc-linux-gnuaout\n", argv[1]); -#endif - return 0; -} -EOF - eval $set_cc_for_build - $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 - ;; - i*86:DYNIX/ptx:4*:*) - # 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. - 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.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit 0 ;; - i*86:*:5:[78]*) - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit 0 ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /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 - (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit 0 ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit 0 ;; - pc:*:*:*) - # Left here for compatibility: - # 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]??A:*: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.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit 0 ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit 0 ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - 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:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit 0 ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # 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 ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit 0 ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit 0 ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit 0 ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000: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 ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit 0 ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit 0 ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; - *:Darwin:*:*) - echo `uname -p`-apple-darwin${UNAME_RELEASE} - exit 0 ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - if test "${UNAME_MACHINE}" = "x86pc"; then - UNAME_MACHINE=pc - fi - echo `uname -p`-${UNAME_MACHINE}-nto-qnx - exit 0 ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit 0 ;; - NSR-[KW]:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit 0 ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit 0 ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit 0 ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit 0 ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit 0 ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit 0 ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit 0 ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit 0 ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit 0 ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit 0 ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit 0 ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit 0 ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - 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 < -# include -#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 - 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`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%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) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# 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 - -eval $set_cc_for_build -$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $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 - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/config/config.sub b/config/config.sub deleted file mode 100755 index f87dc312cb..0000000000 --- a/config/config.sub +++ /dev/null @@ -1,1409 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. - -timestamp='2001-08-02' - -# 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. - -# Please send patches to . -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; - --version | -v ) - echo "$version" ; exit 0 ;; - --help | --h* | -h ) - echo "$usage"; exit 0 ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit 0;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -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/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ - | c4x | clipper \ - | d10v | d30v | dsp16xx \ - | fr30 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | m32r | m68000 | m68k | m88k | mcore \ - | mips16 | mips64 | mips64el | mips64orion | mips64orionel \ - | mips64vr4100 | mips64vr4100el | mips64vr4300 \ - | mips64vr4300el | mips64vr5000 | mips64vr5000el \ - | mipsbe | mipsel | mipsle | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | ns16k | ns32k \ - | openrisc \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | s390 | s390x \ - | sh | sh[34] | sh[34]eb | shbe | shle \ - | sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \ - | strongarm \ - | tahoe | thumb | tic80 | tron \ - | v850 \ - | we32k \ - | x86 | xscale \ - | z8k) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alphapca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armv*-* \ - | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c54x-* \ - | clipper-* | cray2-* | cydra-* \ - | d10v-* | d30v-* \ - | f30[01]-* | f700-* | fr30-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | m32r-* \ - | m68000-* | m680[01234]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | mcore-* \ - | mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \ - | mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipsel-* \ - | mipsle-* | mipstx39-* | mipstx39el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* \ - | s390-* | s390x-* \ - | sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \ - | sparc-* | sparc64-* | sparc86x-* | sparclite-* \ - | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \ - | t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \ - | v850-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xmp-* | xps100-* | xscale-* \ - | ymp-* \ - | z8k-*) - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - 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 - ;; - [cjt]90) - basic_machine=${basic_machine}-cray - os=-unicos - ;; - crds | unos) - basic_machine=m68k-crds - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - 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 - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - 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 - ;; - mmix*) - basic_machine=mmix-knuth - os=-mmixware - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pentium | p5 | k5 | k6 | nexgen) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon) - basic_machine=i686-pc - ;; - pentiumii | pentium2) - basic_machine=i686-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sparclite-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=t3e-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - 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 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - windows32) - basic_machine=i386-pc - os=-windows32-msvcrt - ;; - xmp) - basic_machine=xmp-cray - os=-unicos - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - 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 - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh3 | sh4 | sh3eb | sh4eb) - basic_machine=sh-unknown - ;; - sparc | sparcv9 | sparcv9b) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - c4x*) - basic_machine=c4x-none - os=-coff - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ - | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto*) - os=-nto-qnx - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # 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*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -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*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - *-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 - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -vxsim* | -vxworks*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit 0 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/config/cxx.m4 b/config/cxx.m4 deleted file mode 100644 index 5498db091a..0000000000 --- a/config/cxx.m4 +++ /dev/null @@ -1,64 +0,0 @@ -# Macros to detect certain C++ features -# $Header: /cvsroot/pgsql/config/Attic/cxx.m4,v 1.3 2002/03/29 20:54:33 petere Exp $ - - -# PGAC_CLASS_STRING -# ----------------- -# Look for class `string'. First look for the header. If this -# is found a header then it's probably safe to assume that -# class string exists. If not, check to make sure that -# defines class `string'. -AC_DEFUN([PGAC_CLASS_STRING], -[AC_LANG_PUSH(C++) -AC_CHECK_HEADER(string, - [AC_DEFINE(HAVE_CXX_STRING_HEADER, 1, - [Define to 1 if you have the C++ header])], - [AC_CACHE_CHECK([for class string in ], - [pgac_cv_class_string_in_string_h], -[AC_TRY_COMPILE([#include -#include -#include -], - [string foo = "test"], - [pgac_cv_class_string_in_string_h=yes], - [pgac_cv_class_string_in_string_h=no])]) - - if test x"$pgac_cv_class_string_in_string_h" != xyes ; then - AC_MSG_ERROR([neither nor seem to define the C++ class 'string']) - fi -]) -AC_LANG_POP(C++)])# PGAC_CLASS_STRING - - -# PGAC_CXX_NAMESPACE_STD -# ---------------------- -# Check whether the C++ compiler understands `using namespace std'. -# -# Note 1: On at least some compilers, it will not work until you've -# included a header that mentions namespace std. Thus, include the -# usual suspects before trying it. -# -# Note 2: This test does not actually reveal whether the C++ compiler -# properly understands namespaces in all generality. (GNU C++ 2.8.1 -# is one that doesn't.) However, we don't care. -AC_DEFUN([PGAC_CXX_NAMESPACE_STD], -[AC_REQUIRE([PGAC_CLASS_STRING]) -AC_CACHE_CHECK([for namespace std in C++], -pgac_cv_cxx_namespace_std, -[ -AC_LANG_PUSH(C++) -AC_TRY_COMPILE( -[#include -#include -#ifdef HAVE_CXX_STRING_HEADER -#include -#endif -using namespace std; -], [], -[pgac_cv_cxx_namespace_std=yes], -[pgac_cv_cxx_namespace_std=no]) -AC_LANG_POP(C++)]) - -if test $pgac_cv_cxx_namespace_std = yes ; then - AC_DEFINE(HAVE_NAMESPACE_STD, 1, [Define to 1 if the C++ compiler understands 'using namespace std']) -fi])# PGAC_CXX_NAMESPACE_STD diff --git a/config/docbook.m4 b/config/docbook.m4 deleted file mode 100644 index b0b6ce0238..0000000000 --- a/config/docbook.m4 +++ /dev/null @@ -1,93 +0,0 @@ -# $Header: /cvsroot/pgsql/config/docbook.m4,v 1.3 2002/04/14 17:23:20 petere Exp $ - -# PGAC_PROG_JADE -# -------------- -AC_DEFUN([PGAC_PROG_JADE], -[AC_CHECK_PROGS([JADE], [openjade jade])]) - - -# PGAC_PROG_NSGMLS -# ---------------- -AC_DEFUN([PGAC_PROG_NSGMLS], -[AC_CHECK_PROGS([NSGMLS], [onsgmls nsgmls])]) - - -# PGAC_CHECK_DOCBOOK(VERSION) -# --------------------------- -AC_DEFUN([PGAC_CHECK_DOCBOOK], -[AC_REQUIRE([PGAC_PROG_NSGMLS]) -AC_CACHE_CHECK([for DocBook V$1], [pgac_cv_check_docbook], -[cat >conftest.sgml < - - test - - random - - testsect - text - - - -EOF - -${NSGMLS-false} -s conftest.sgml 1>&AS_MESSAGE_LOG_FD 2>&1 -if test $? -eq 0; then - pgac_cv_check_docbook=yes -else - pgac_cv_check_docbook=no -fi -rm -f conftest.sgml]) - -have_docbook=$pgac_cv_check_docbook -AC_SUBST([have_docbook]) -])# PGAC_CHECK_DOCBOOK - - -# PGAC_PATH_DOCBOOK_STYLESHEETS -# ----------------------------- -AC_DEFUN([PGAC_PATH_DOCBOOK_STYLESHEETS], -[AC_ARG_VAR(DOCBOOKSTYLE, [location of DocBook stylesheets])dnl -AC_MSG_CHECKING([for DocBook stylesheets]) -AC_CACHE_VAL([pgac_cv_path_stylesheets], -[if test -n "$DOCBOOKSTYLE"; then - pgac_cv_path_stylesheets=$DOCBOOKSTYLE -else - for pgac_prefix in /usr /usr/local /opt; do - for pgac_infix in share lib; do - for pgac_postfix in \ - sgml/stylesheets/nwalsh-modular \ - sgml/stylesheets/docbook \ - sgml/docbook/dsssl/modular \ - sgml/docbook/dsssl-stylesheets - do - pgac_candidate=$pgac_prefix/$pgac_infix/$pgac_postfix - if test -r "$pgac_candidate/html/docbook.dsl" \ - && test -r "$pgac_candidate/print/docbook.dsl" - then - pgac_cv_path_stylesheets=$pgac_candidate - break 3 - fi - done - done - done -fi]) -DOCBOOKSTYLE=$pgac_cv_path_stylesheets -AC_SUBST([DOCBOOKSTYLE]) -if test -n "$DOCBOOKSTYLE"; then - AC_MSG_RESULT([$DOCBOOKSTYLE]) -else - AC_MSG_RESULT(no) -fi])# PGAC_PATH_DOCBOOK_STYLESHEETS - - -# PGAC_PATH_COLLATEINDEX -# ---------------------- -AC_DEFUN([PGAC_PATH_COLLATEINDEX], -[AC_REQUIRE([PGAC_PATH_DOCBOOK_STYLESHEETS])dnl -if test -n "$DOCBOOKSTYLE"; then - AC_PATH_PROGS(COLLATEINDEX, collateindex.pl, [], - [$DOCBOOKSTYLE/bin $PATH]) -else - AC_PATH_PROGS(COLLATEINDEX, collateindex.pl) -fi])# PGAC_PATH_COLLATEINDEX diff --git a/config/general.m4 b/config/general.m4 deleted file mode 100644 index 1a0a60dd60..0000000000 --- a/config/general.m4 +++ /dev/null @@ -1,135 +0,0 @@ -# $Header: /cvsroot/pgsql/config/general.m4,v 1.2 2002/03/29 17:32:53 petere Exp $ - -# This file defines new macros to process configure command line -# arguments, to replace the brain-dead AC_ARG_WITH and AC_ARG_ENABLE. -# The flaw in these is particularly that they only differentiate -# between "given" and "not given" and do not provide enough help to -# process arguments that only accept "yes/no", that require an -# argument (other than "yes/no"), etc. -# -# The point of this implementation is to reduce code size and -# redundancy in configure.in and to improve robustness and consistency -# in the option evaluation code. - - -# Convert type and name to shell variable name (e.g., "enable_long_strings") -m4_define([pgac_arg_to_variable], - [$1[]_[]patsubst($2, -, _)]) - - -# PGAC_ARG(TYPE, NAME, HELP-STRING, -# [ACTION-IF-YES], [ACTION-IF-NO], [ACTION-IF-ARG], -# [ACTION-IF-OMITTED]) -# ---------------------------------------------------------- -# This is the base layer. TYPE is either "with" or "enable", depending -# on what you like. NAME is the rest of the option name, HELP-STRING -# as usual. ACTION-IF-YES is executed if the option is given without -# and argument (or "yes", which is the same); similar for ACTION-IF-NO. - -AC_DEFUN([PGAC_ARG], -[ -m4_case([$1], - -enable, [ -AC_ARG_ENABLE([$2], [$3], [ - case [$]enableval in - yes) - m4_default([$4], :) - ;; - no) - m4_default([$5], :) - ;; - *) - $6 - ;; - esac -], -[$7])[]dnl AC_ARG_ENABLE -], - -with, [ -AC_ARG_WITH([$2], [$3], [ - case [$]withval in - yes) - m4_default([$4], :) - ;; - no) - m4_default([$5], :) - ;; - *) - $6 - ;; - esac -], -[$7])[]dnl AC_ARG_WITH -], - -[m4_fatal([first argument of $0 must be 'enable' or 'with', not '$1'])] -) -])# PGAC_ARG - - -# PGAC_ARG_BOOL(TYPE, NAME, DEFAULT, HELP-STRING, -# [ACTION-IF-YES], [ACTION-IF-NO]) -# ----------------------------------------------- -# Accept a boolean option, that is, one that only takes yes or no. -# ("no" is equivalent to "disable" or "without"). DEFAULT is what -# should be done if the option is omitted; it should be "yes" or "no". -# (Consequently, one of ACTION-IF-YES and ACTION-IF-NO will always -# execute.) - -AC_DEFUN([PGAC_ARG_BOOL], -[PGAC_ARG([$1], [$2], [$4], [$5], [$6], - [AC_MSG_ERROR([no argument expected for --$1-$2 option])], - [m4_case([$3], - yes, [pgac_arg_to_variable([$1], [$2])=yes -$5], - no, [pgac_arg_to_variable([$1], [$2])=no -$6], - [m4_fatal([third argument of $0 must be 'yes' or 'no', not '$3'])])])[]dnl -])# PGAC_ARG_BOOL - - -# PGAC_ARG_REQ(TYPE, NAME, HELP-STRING, [ACTION-IF-GIVEN], [ACTION-IF-NOT-GIVEN]) -# ------------------------------------------------------------------------------- -# This option will require an argument; "yes" or "no" will not be -# accepted. - -AC_DEFUN([PGAC_ARG_REQ], -[PGAC_ARG([$1], [$2], [$3], - [AC_MSG_ERROR([argument required for --$1-$2 option])], - [AC_MSG_ERROR([argument required for --$1-$2 option])], - [$4], - [$5])])# PGAC_ARG_REQ - - -# PGAC_ARG_OPTARG(TYPE, NAME, HELP-STRING, [DEFAULT-ACTION], [ARG-ACTION] -# [ACTION-ENABLED], [ACTION-DISABLED]) -# ----------------------------------------------------------------------- -# This will create an option that behaves as follows: If omitted, or -# called with "no", then set the enable_variable to "no" and do -# nothing else. If called with "yes", then execute DEFAULT-ACTION. If -# called with argument, set enable_variable to "yes" and execute -# ARG-ACTION. Additionally, execute ACTION-ENABLED if we ended up with -# "yes" either way, else ACTION-DISABLED. -# -# The intent is to allow enabling a feature, and optionally pass an -# additional piece of information. - -AC_DEFUN([PGAC_ARG_OPTARG], -[PGAC_ARG([$1], [$2], [$3], [$4], [], - [pgac_arg_to_variable([$1], [$2])=yes -$5], - [pgac_arg_to_variable([$1], [$2])=no]) -dnl Add this code only if there's a ACTION-ENABLED or ACTION-DISABLED. -m4_ifval([$6[]$7], -[ -if test "[$]pgac_arg_to_variable([$1], [$2])" = yes; then - m4_default([$6], :) -m4_ifval([$7], -[else - $7 -])[]dnl -fi -])[]dnl -])# PGAC_ARG_OPTARG diff --git a/config/install-sh b/config/install-sh deleted file mode 100755 index ebc66913e9..0000000000 --- a/config/install-sh +++ /dev/null @@ -1,250 +0,0 @@ -#! /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=: - 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/config/java.m4 b/config/java.m4 deleted file mode 100644 index 2f7de3a42a..0000000000 --- a/config/java.m4 +++ /dev/null @@ -1,61 +0,0 @@ -# -# Autoconf macros for configuring the build of Java JDBC Tools -# -# $Header: /cvsroot/pgsql/config/Attic/java.m4,v 1.4 2002/03/29 17:32:54 petere Exp $ -# - - -# _PGAC_PROG_ANT_WORKS -# -------------------- -AC_DEFUN([_PGAC_PROG_ANT_WORKS], -[ - AC_CACHE_CHECK([whether $ANT works], [pgac_cv_prog_ant_works], - [ - cat > conftest.java << EOF -public class conftest { - int testmethod(int a, int b) { - return a + b; - } -} -EOF - - cat > conftest.xml << EOF - - - - - - -EOF - - pgac_cmd='$ANT -buildfile conftest.xml 1>&2' - AC_TRY_EVAL(pgac_cmd) - pgac_save_status=$? - if test $? = 0 && test -f ./conftest.class ; then - pgac_cv_prog_ant_works=yes - else - echo "configure: failed java program was:" >&AS_MESSAGE_LOG_FD - cat conftest.java >&AS_MESSAGE_LOG_FD - echo "configure: failed build file was:" >&AS_MESSAGE_LOG_FD - cat conftest.xml >&AS_MESSAGE_LOG_FD - pgac_cv_prog_ant_works=no - fi - - rm -f conftest* core core.* *.core - ]) - - if test "$pgac_cv_prog_ant_works" != yes; then - AC_MSG_ERROR([ant does not work]) - fi -]) - - -# PGAC_PATH_ANT -# ------------- -# Look for the ANT tool and set the output variable 'ANT' to 'ant' -# if found, empty otherwise -AC_DEFUN([PGAC_PATH_ANT], -[ - AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat]) - _PGAC_PROG_ANT_WORKS -]) diff --git a/config/libtool.m4 b/config/libtool.m4 deleted file mode 100644 index 798420d5bc..0000000000 --- a/config/libtool.m4 +++ /dev/null @@ -1,119 +0,0 @@ -## libtool.m4 - Configure libtool for the host system. -*-Shell-script-*- -## Copyright (C) 1996-1999,2000 Free Software Foundation, Inc. -## Originally by Gordon Matzigkeit , 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. - -# No, PostgreSQL doesn't use libtool (yet), we just borrow stuff from it. -# This file was taken on 2000-10-20 from the multi-language branch (since -# that is the branch that PostgreSQL would most likely adopt anyway). -# --petere - -# ... bunch of stuff removed here ... - -# 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 -dnl ###not for PostgreSQL### 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. -changequote(,)dnl - [\\/]* | [A-Za-z]:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' -changequote([,])dnl - # 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(ac_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 - ac_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 "$ac_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 - ac_cv_path_LD="$LD" # Let the user override the test with a path. -fi]) -LD="$ac_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_DEFUN([AC_PROG_LD_GNU], -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld, -[# I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 &5; then - ac_cv_prog_gnu_ld=yes -else - ac_cv_prog_gnu_ld=no -fi]) -with_gnu_ld=$ac_cv_prog_gnu_ld -]) - -# ... more stuff removed ... diff --git a/config/missing b/config/missing deleted file mode 100755 index 29865631d5..0000000000 --- a/config/missing +++ /dev/null @@ -1,33 +0,0 @@ -#! /bin/sh - -# This is *not* the GNU `missing' script, although it is similar in -# concept. You can call it from the makefiles to get consistent -# behavior when certain utility programs are missing. - -case $1 in - flex|bison) - # `missing flex|bison ' - input=$2 - output=$3 - if test -f "$output"; then - echo "\ -*** -WARNING: \`$1' is missing on your system. You should only need it -if you changed the file \`$input'; these changes will not take effect. -You can get $1 from a GNU mirror site. -***" - echo "touch $output" - touch "$output" - exit 0 - else # ! test -f $output - echo "\ -*** -ERROR: \`$1' is missing on your system. It is needed to create the -file \`$output'. You can either get $1 from a GNU mirror site -or download an official distribution of PostgreSQL, which contains -pre-packaged $1 output. -***" - exit 1 - fi - ;; -esac diff --git a/config/mkinstalldirs b/config/mkinstalldirs deleted file mode 100755 index cc8783edce..0000000000 --- a/config/mkinstalldirs +++ /dev/null @@ -1,36 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy -# Author: Noah Friedman -# Created: 1993-05-16 -# Last modified: 1994-03-25 -# Public domain - -errstatus=0 - -for file in ${1+"$@"} ; do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` - shift - - pathcomp= - for d in ${1+"$@"} ; do - pathcomp="$pathcomp$d" - case "$pathcomp" in - -* ) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" 1>&2 - mkdir "$pathcomp" > /dev/null 2>&1 || lasterr=$? - fi - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - fi - - pathcomp="$pathcomp/" - done -done - -exit $errstatus - -# mkinstalldirs ends here diff --git a/config/perl.m4 b/config/perl.m4 deleted file mode 100644 index dc134acc22..0000000000 --- a/config/perl.m4 +++ /dev/null @@ -1,35 +0,0 @@ -# $Header: /cvsroot/pgsql/config/perl.m4,v 1.2 2002/05/28 16:57:53 petere Exp $ - - -# PGAC_PATH_PERL -# -------------- -AC_DEFUN([PGAC_PATH_PERL], -[AC_PATH_PROG(PERL, perl)]) - - -# PGAC_CHECK_PERL_CONFIG(NAME) -# ---------------------------- -AC_DEFUN([PGAC_CHECK_PERL_CONFIG], -[AC_REQUIRE([PGAC_PATH_PERL]) -AC_MSG_CHECKING([for Perl $1]) -perl_$1=`$PERL -MConfig -e 'print $Config{$1}'` -AC_SUBST(perl_$1)dnl -AC_MSG_RESULT([$perl_$1])]) - - -# PGAC_CHECK_PERL_CONFIGS(NAMES) -# ------------------------------ -AC_DEFUN([PGAC_CHECK_PERL_CONFIGS], -[m4_foreach([pgac_item], [$1], [PGAC_CHECK_PERL_CONFIG(pgac_item)])]) - - -# PGAC_CHECK_PERL_EMBED_LDFLAGS -# ----------------------------- -AC_DEFUN([PGAC_CHECK_PERL_EMBED_LDFLAGS], -[AC_REQUIRE([PGAC_PATH_PERL]) -AC_MSG_CHECKING(for flags to link embedded Perl) -pgac_tmp1=`$PERL -MExtUtils::Embed -e ldopts` -pgac_tmp2=`$PERL -MConfig -e 'print $Config{ccdlflags}'` -perl_embed_ldflags=`echo X"$pgac_tmp1" | sed "s/^X//;s%$pgac_tmp2%%"` -AC_SUBST(perl_embed_ldflags)dnl -AC_MSG_RESULT([$perl_embed_ldflags])]) diff --git a/config/prep_buildtree b/config/prep_buildtree deleted file mode 100644 index 57d7719673..0000000000 --- a/config/prep_buildtree +++ /dev/null @@ -1,41 +0,0 @@ -#! /bin/sh - -# This script prepares a PostgreSQL build tree. It is intended -# to be run by the configure script. - -me=`basename $0` - -help="\ -Usage: $me sourcetree [buildtree]" - -if test -z "$1"; then - echo "$help" 1>&2 - exit 1 -elif test x"$1" = x"--help"; then - echo "$help" - exit 0 -fi - -unset CDPATH - -sourcetree=`cd $1 && pwd` - -buildtree=`cd ${2:-'.'} && pwd` - -for item in `find "$sourcetree" -type d \( -name CVS -prune -o -print \)`; do - subdir=`expr "$item" : "$sourcetree\(.*\)"` - if test ! -d "$buildtree/$subdir"; then - mkdir -p "$buildtree/$subdir" || exit 1 - fi -done - -for item in `find "$sourcetree" -name Makefile -print -o -name GNUmakefile -print`; do - filename=`expr "$item" : "$sourcetree\(.*\)"` - if test ! -f "${item}.in"; then - if cmp "$item" "$buildtree/$filename" >/dev/null 2>&1; then : ; else - ln -fs "$item" "$buildtree/$filename" || exit 1 - fi - fi -done - -exit 0 diff --git a/config/programs.m4 b/config/programs.m4 deleted file mode 100644 index 371b21b918..0000000000 --- a/config/programs.m4 +++ /dev/null @@ -1,192 +0,0 @@ -# $Header: /cvsroot/pgsql/config/programs.m4,v 1.10 2002/04/10 22:46:33 petere Exp $ - - -# PGAC_PATH_FLEX -# -------------- -# Look for Flex, set the output variable FLEX to its path if found. -# Avoid the buggy version 2.5.3. Also find Flex if its installed -# under `lex', but do not accept other Lex programs. - -AC_DEFUN([PGAC_PATH_FLEX], -[AC_CACHE_CHECK([for flex], pgac_cv_path_flex, -[# Let the user override the test -if test -n "$FLEX"; then - pgac_cv_path_flex=$FLEX -else - pgac_save_IFS=$IFS - IFS=: - for pgac_dir in $PATH; do - if test -z "$pgac_dir" || test x"$pgac_dir" = x"."; then - pgac_dir=`pwd` - fi - for pgac_prog in flex lex; do - pgac_candidate="$pgac_dir/$pgac_prog" - if test -f "$pgac_candidate" \ - && $pgac_candidate --version /dev/null 2>&1 - then - echo '%%' > conftest.l - if $pgac_candidate -t conftest.l 2>/dev/null | grep FLEX_SCANNER >/dev/null 2>&1; then - if $pgac_candidate --version | grep '2\.5\.3' >/dev/null 2>&1; then - pgac_broken_flex=$pgac_candidate - continue - fi - - pgac_cv_path_flex=$pgac_candidate - break 2 - fi - fi - done - done - IFS=$pgac_save_IFS - rm -f conftest.l - : ${pgac_cv_path_flex=no} -fi -])[]dnl AC_CACHE_CHECK - -if test x"$pgac_cv_path_flex" = x"no"; then - if test -n "$pgac_broken_flex"; then - AC_MSG_WARN([ -*** The Flex version 2.5.3 you have at $pgac_broken_flex contains a bug. You -*** should get version 2.5.4 or later.]) - fi - - AC_MSG_WARN([ -*** Without Flex you will not be able to build PostgreSQL from CVS or -*** change any of the scanner definition files. You can obtain Flex from -*** a GNU mirror site. (If you are using the official distribution of -*** PostgreSQL then you do not need to worry about this because the Flex -*** output is pre-generated.)]) -fi - -if test x"$pgac_cv_path_flex" = x"no"; then - FLEX= -else - FLEX=$pgac_cv_path_flex -fi - -AC_SUBST(FLEX) -AC_SUBST(FLEXFLAGS) -])# PGAC_PATH_FLEX - - - -# PGAC_CHECK_READLINE -# ------------------- -# Check for the readline library and dependent libraries, either -# termcap or curses. Also try libedit, since NetBSD's is compatible. -# Add the required flags to LIBS, define HAVE_LIBREADLINE. - -AC_DEFUN([PGAC_CHECK_READLINE], -[AC_REQUIRE([AC_CANONICAL_HOST]) -AC_MSG_CHECKING([for readline]) - -AC_CACHE_VAL([pgac_cv_check_readline], -[pgac_cv_check_readline=no -for pgac_lib in "" " -ltermcap" " -lncurses" " -lcurses" ; do - for pgac_rllib in -lreadline -ledit ; do - pgac_save_LIBS=$LIBS - LIBS="${pgac_rllib}${pgac_lib} $LIBS" - AC_TRY_LINK_FUNC([readline], [[ - # NetBSD and OpenBSD have a broken linker that does not - # recognize dependent libraries - case $host_os in netbsd* | openbsd* ) - case $pgac_lib in - *curses*) ;; - *) pgac_lib=" -lcurses" ;; - esac - esac - - pgac_cv_check_readline="${pgac_rllib}${pgac_lib}" - break 2 - ]]) - LIBS=$pgac_save_LIBS - done -done -LIBS=$pgac_save_LIBS -])[]dnl AC_CACHE_VAL - -if test "$pgac_cv_check_readline" != no ; then - AC_DEFINE(HAVE_LIBREADLINE, 1, [Define if you have a function readline library]) - LIBS="$pgac_cv_check_readline $LIBS" - AC_MSG_RESULT([yes ($pgac_cv_check_readline)]) -else - AC_MSG_RESULT(no) -fi])# PGAC_CHECK_READLINE - - - -# PGAC_VAR_RL_COMPLETION_APPEND_CHARACTER -# --------------------------------------- -# Readline versions < 2.1 don't have rl_completion_append_character - -AC_DEFUN([PGAC_VAR_RL_COMPLETION_APPEND_CHARACTER], -[AC_MSG_CHECKING([for rl_completion_append_character]) -AC_TRY_LINK([#include -#ifdef HAVE_READLINE_READLINE_H -# include -#elif defined(HAVE_READLINE_H) -# include -#endif -], -[rl_completion_append_character = 'x';], -[AC_MSG_RESULT(yes) -AC_DEFINE(HAVE_RL_COMPLETION_APPEND_CHARACTER, 1, - [Define if you have rl_completion_append_character])], -[AC_MSG_RESULT(no)])])# PGAC_VAR_RL_COMPLETION_APPEND_CHARACTER - - - -# PGAC_CHECK_GETTEXT -# ------------------ - -AC_DEFUN([PGAC_CHECK_GETTEXT], -[ - AC_SEARCH_LIBS(gettext, intl, [], - [AC_MSG_ERROR([a gettext implementation is required for NLS])]) - AC_CHECK_HEADER([libintl.h], [], - [AC_MSG_ERROR([header file is required for NLS])]) - AC_CHECK_PROGS(MSGFMT, msgfmt) - if test -z "$MSGFMT"; then - AC_MSG_ERROR([msgfmt is required for NLS]) - fi - AC_CHECK_PROGS(MSGMERGE, msgmerge) -dnl FIXME: We should probably check for version >=0.10.36. - AC_CHECK_PROGS(XGETTEXT, xgettext) - - # Note: share/locale is always the default, independent of $datadir - localedir='${prefix}/share/locale' - if test x"$prefix" = x"NONE"; then - exp_localedir="$ac_default_prefix/share/locale" - else - exp_localedir="$prefix/share/locale" - fi - - AC_SUBST(localedir) - AC_DEFINE_UNQUOTED(LOCALEDIR, ["$exp_localedir"], - [location of locale files]) -])# PGAC_CHECK_GETTEXT - - - -# PGAC_CHECK_STRIP -# ---------------- -# Check for a 'strip' program, and figure out if that program can -# strip libraries. - -AC_DEFUN([PGAC_CHECK_STRIP], -[ - AC_CHECK_TOOL(STRIP, strip, :) - - AC_MSG_CHECKING([whether it is possible to strip libraries]) - if test x"$STRIP" != x"" && "$STRIP" -V 2>&1 | grep "GNU strip" >/dev/null; then - STRIP_STATIC_LIB="$STRIP -x" - STRIP_SHARED_LIB="$STRIP --strip-unneeded" - AC_MSG_RESULT(yes) - else - STRIP_STATIC_LIB=: - STRIP_SHARED_LIB=: - AC_MSG_RESULT(no) - fi - AC_SUBST(STRIP_STATIC_LIB) - AC_SUBST(STRIP_SHARED_LIB) -])# PGAC_CHECK_STRIP diff --git a/config/python.m4 b/config/python.m4 deleted file mode 100644 index 6058ef3d2a..0000000000 --- a/config/python.m4 +++ /dev/null @@ -1,84 +0,0 @@ -# -# Autoconf macros for configuring the build of Python extension modules -# -# $Header: /cvsroot/pgsql/config/python.m4,v 1.4 2002/03/29 17:32:54 petere Exp $ -# - -# PGAC_PATH_PYTHON -# ---------------- -# Look for Python and set the output variable 'PYTHON' -# to 'python' if found, empty otherwise. -AC_DEFUN([PGAC_PATH_PYTHON], -[AC_PATH_PROG(PYTHON, python) -if test x"$PYTHON" = x""; then - AC_MSG_ERROR([Python not found]) -fi -]) - - -# _PGAC_CHECK_PYTHON_DIRS -# ----------------------- -# Determine the name of various directory of a given Python installation. -AC_DEFUN([_PGAC_CHECK_PYTHON_DIRS], -[AC_REQUIRE([PGAC_PATH_PYTHON]) -AC_MSG_CHECKING([Python installation directories]) -python_version=`${PYTHON} -c "import sys; print sys.version[[:3]]"` -python_prefix=`${PYTHON} -c "import sys; print sys.prefix"` -python_execprefix=`${PYTHON} -c "import sys; print sys.exec_prefix"` -python_configdir="${python_execprefix}/lib/python${python_version}/config" -python_moduledir="${python_prefix}/lib/python${python_version}/site-packages" -python_moduleexecdir="${python_execprefix}/lib/python${python_version}/site-packages" -python_includespec="-I${python_prefix}/include/python${python_version}" -if test "$python_prefix" != "$python_execprefix"; then - python_includespec="-I${python_execprefix}/include/python${python_version} $python_includespec" -fi - -AC_SUBST(python_version)[]dnl -AC_SUBST(python_prefix)[]dnl -AC_SUBST(python_execprefix)[]dnl -AC_SUBST(python_configdir)[]dnl -AC_SUBST(python_moduledir)[]dnl -AC_SUBST(python_moduleexecdir)[]dnl -AC_SUBST(python_includespec)[]dnl -# This should be enough of a message. -if test "$python_prefix" != "$python_execprefix"; then - AC_MSG_RESULT([$python_prefix/lib/python${python_version} and $python_execprefix/lib/python${python_version}]) -else - AC_MSG_RESULT([$python_prefix/lib/python${python_version}]) -fi -])# _PGAC_CHECK_PYTHON_DIRS - - -# PGAC_CHECK_PYTHON_MODULE_SETUP -# ------------------------------ -# Finds things required to build a Python extension module. -# This used to do more, that's why it's separate. -# -# It would be nice if we could check whether the current setup allows -# the build of the shared module. Future project. -AC_DEFUN([PGAC_CHECK_PYTHON_MODULE_SETUP], -[ - AC_REQUIRE([_PGAC_CHECK_PYTHON_DIRS]) -])# PGAC_CHECK_PYTHON_MODULE_SETUP - - -# PGAC_CHECK_PYTHON_EMBED_SETUP -# ----------------------------- -# Courtesy of the INN 2.3.1 package... -AC_DEFUN([PGAC_CHECK_PYTHON_EMBED_SETUP], -[AC_REQUIRE([_PGAC_CHECK_PYTHON_DIRS]) -AC_MSG_CHECKING([how to link an embedded Python application]) - -_python_libs=`grep '^LIBS=' $python_configdir/Makefile | sed 's/^.*=//'` -_python_libc=`grep '^LIBC=' $python_configdir/Makefile | sed 's/^.*=//'` -_python_libm=`grep '^LIBM=' $python_configdir/Makefile | sed 's/^.*=//'` -_python_liblocalmod=`grep '^LOCALMODLIBS=' $python_configdir/Makefile | sed 's/^.*=//'` -_python_libbasemod=`grep '^BASEMODLIBS=' $python_configdir/Makefile | sed 's/^.*=//'` - -pgac_tab=" " # tab character -python_libspec=`echo X"-L$python_configdir $_python_libs $_python_libc $_python_libm -lpython$python_version $_python_liblocalmod $_python_libbasemod" | sed -e 's/^X//' -e "s/[[ $pgac_tab]][[ $pgac_tab]]*/ /g"` - -AC_MSG_RESULT([${python_libspec}]) - -AC_SUBST(python_libspec)[]dnl -])# PGAC_CHECK_PYTHON_EMBED_SETUP diff --git a/config/tcl.m4 b/config/tcl.m4 deleted file mode 100644 index d3407c924f..0000000000 --- a/config/tcl.m4 +++ /dev/null @@ -1,89 +0,0 @@ -# $Header: /cvsroot/pgsql/config/tcl.m4,v 1.4 2002/05/24 18:10:17 petere Exp $ - -# Autoconf macros to check for Tcl related things - - -AC_DEFUN([PGAC_PATH_TCLSH], - [AC_PATH_PROGS(TCLSH, [tclsh tcl])]) - - -# PGAC_PATH_TCLCONFIGSH([SEARCH-PATH]) -# ------------------------------------ -AC_DEFUN([PGAC_PATH_TCLCONFIGSH], -[AC_REQUIRE([PGAC_PATH_TCLSH])[]dnl -AC_BEFORE([$0], [PGAC_PATH_TKCONFIGSH])[]dnl -AC_MSG_CHECKING([for tclConfig.sh]) -# Let user override test -if test -z "$TCL_CONFIG_SH"; then - pgac_test_dirs="$1" - - set X $pgac_test_dirs; shift - if test $[#] -eq 0; then - test -z "$TCLSH" && AC_MSG_ERROR([unable to locate tclConfig.sh because no Tcl shell was found]) - set X `echo 'puts $auto_path' | $TCLSH`; shift - fi - - for pgac_dir do - if test -r "$pgac_dir/tclConfig.sh"; then - TCL_CONFIG_SH=$pgac_dir/tclConfig.sh - break - fi - done -fi - -if test -z "$TCL_CONFIG_SH"; then - AC_MSG_RESULT(no) - AC_MSG_ERROR([file 'tclConfig.sh' is required for Tcl]) -else - AC_MSG_RESULT([$TCL_CONFIG_SH]) -fi - -AC_SUBST([TCL_CONFIG_SH]) -])# PGAC_PATH_TCLCONFIGSH - - -# PGAC_PATH_TKCONFIGSH([SEARCH-PATH]) -# ------------------------------------ -AC_DEFUN([PGAC_PATH_TKCONFIGSH], -[AC_REQUIRE([PGAC_PATH_TCLSH])[]dnl -AC_MSG_CHECKING([for tkConfig.sh]) -# Let user override test -if test -z "$TK_CONFIG_SH"; then - pgac_test_dirs="$1" - - set X $pgac_test_dirs; shift - if test $[#] -eq 0; then - test -z "$TCLSH" && AC_MSG_ERROR([unable to locate tkConfig.sh because no Tcl shell was found]) - set X `echo 'puts $auto_path' | $TCLSH`; shift - fi - - for pgac_dir do - if test -r "$pgac_dir/tkConfig.sh"; then - TK_CONFIG_SH=$pgac_dir/tkConfig.sh - break - fi - done -fi - -if test -z "$TK_CONFIG_SH"; then - AC_MSG_RESULT(no) - AC_MSG_ERROR([file 'tkConfig.sh' is required for Tk]) -else - AC_MSG_RESULT([$TK_CONFIG_SH]) -fi - -AC_SUBST([TK_CONFIG_SH]) -])# PGAC_PATH_TKCONFIGSH - - -# PGAC_EVAL_TCLCONFIGSH(FILE, WANTED-VARS) -# ---------------------------------------- -# Assigns variables listed in WANTED-VARS by reading FILE and -# evaluating it according to the quoting scheme of tclConfig.sh and -# tkConfig.sh. Calls AC_SUBST for each variable. - -AC_DEFUN([PGAC_EVAL_TCLCONFIGSH], -[. "$1" -m4_foreach([pgac_item], [$2], -[eval pgac_item=\"[$]pgac_item\" -AC_SUBST(pgac_item)])]) diff --git a/configure b/configure deleted file mode 100755 index 19c0cd9faf..0000000000 --- a/configure +++ /dev/null @@ -1,18038 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.53 for PostgreSQL 7.3devel. -# -# Report bugs to . -# -# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 -# Free Software Foundation, Inc. -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -# -# Copyright 2002 PostgreSQL Global Development Group - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - - -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi - -# NLS nuisances. -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - -(set +x; test -n "`(LANG=C; export LANG) 2>&1`") && - { $as_unset LANG || test "${LANG+set}" != set; } || - { LANG=C; export LANG; } -(set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") && - { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } || - { LC_ALL=C; export LC_ALL; } -(set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") && - { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } || - { LC_TIME=C; export LC_TIME; } -(set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") && - { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } || - { LC_CTYPE=C; export LC_CTYPE; } -(set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") && - { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } || - { LANGUAGE=C; export LANGUAGE; } -(set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") && - { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } || - { LC_COLLATE=C; export LC_COLLATE; } -(set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") && - { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } || - { LC_NUMERIC=C; export LC_NUMERIC; } -(set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") && - { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } || - { LC_MESSAGES=C; export LC_MESSAGES; } - - -# Name of the executable. -as_me=`(basename "$0") 2>/dev/null || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - -# PATH needs CR, and LINENO needs CR and PATH. -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conftest.sh - echo "exit 0" >>conftest.sh - chmod +x conftest.sh - if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conftest.sh -fi - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done - - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | - sed ' - N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, - t loop - s,-$,, - s,^['$as_cr_digits']*\n,, - ' >$as_me.lineno && - chmod +x $as_me.lineno || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno - # Exit status is that of the last command. - exit -} - - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -as_executable_p="test -f" - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" - - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; } - - -# Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -exec 6>&1 - -# -# Initializations. -# -ac_default_prefix=/usr/local -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Maximum number of lines to put in a shell here document. -# This variable seems obsolete. It should probably be removed, and -# only ac_max_sed_lines should be used. -: ${ac_max_here_lines=38} - -# Identity of this package. -PACKAGE_NAME='PostgreSQL' -PACKAGE_TARNAME='postgresql' -PACKAGE_VERSION='7.3devel' -PACKAGE_STRING='PostgreSQL 7.3devel' -PACKAGE_BUGREPORT='pgsql-bugs@postgresql.org' - -ac_unique_file="src/backend/access/common/heaptuple.c" -ac_default_prefix=/usr/local/pgsql -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#if HAVE_SYS_TYPES_H -# include -#endif -#if HAVE_SYS_STAT_H -# include -#endif -#if STDC_HEADERS -# include -# include -#else -# if HAVE_STDLIB_H -# include -# endif -#endif -#if HAVE_STRING_H -# if !STDC_HEADERS && HAVE_MEMORY_H -# include -# endif -# include -#endif -#if HAVE_STRINGS_H -# include -#endif -#if HAVE_INTTYPES_H -# include -#else -# if HAVE_STDINT_H -# include -# endif -#endif -#if HAVE_UNISTD_H -# include -#endif" - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -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' -docdir='${prefix}/doc' -mandir='${prefix}/man' - -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 - - ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` - - # 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_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$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 ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - eval "enable_$ac_feature=no" ;; - - -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) 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 | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$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 ;; - - -docdir | --docdir | --infodi | --infod | --doc | --inf) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --infodi=* | --infod=* | --doc=* | --inf=*) - docdir=$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 | -n) - 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_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package| sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; - esac - eval "with_$ac_package='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - 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 "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` - eval "$ac_envvar='$ac_optarg'" - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -# Be sure to have absolute paths. -for ac_var in exec_prefix prefix -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* | NONE | '' ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -done - -# Be sure to have absolute paths. -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir docdir mandir -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -# 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_confdir=`(dirname "$0") 2>/dev/null || -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$0" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - 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 "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 - { (exit 1); exit 1; }; } - else - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } - fi -fi -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` -ac_env_build_alias_set=${build_alias+set} -ac_env_build_alias_value=$build_alias -ac_cv_env_build_alias_set=${build_alias+set} -ac_cv_env_build_alias_value=$build_alias -ac_env_host_alias_set=${host_alias+set} -ac_env_host_alias_value=$host_alias -ac_cv_env_host_alias_set=${host_alias+set} -ac_cv_env_host_alias_value=$host_alias -ac_env_target_alias_set=${target_alias+set} -ac_env_target_alias_value=$target_alias -ac_cv_env_target_alias_set=${target_alias+set} -ac_cv_env_target_alias_value=$target_alias -ac_env_CC_set=${CC+set} -ac_env_CC_value=$CC -ac_cv_env_CC_set=${CC+set} -ac_cv_env_CC_value=$CC -ac_env_CFLAGS_set=${CFLAGS+set} -ac_env_CFLAGS_value=$CFLAGS -ac_cv_env_CFLAGS_set=${CFLAGS+set} -ac_cv_env_CFLAGS_value=$CFLAGS -ac_env_LDFLAGS_set=${LDFLAGS+set} -ac_env_LDFLAGS_value=$LDFLAGS -ac_cv_env_LDFLAGS_set=${LDFLAGS+set} -ac_cv_env_LDFLAGS_value=$LDFLAGS -ac_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_env_CPPFLAGS_value=$CPPFLAGS -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_cv_env_CPPFLAGS_value=$CPPFLAGS -ac_env_CPP_set=${CPP+set} -ac_env_CPP_value=$CPP -ac_cv_env_CPP_set=${CPP+set} -ac_cv_env_CPP_value=$CPP -ac_env_CXX_set=${CXX+set} -ac_env_CXX_value=$CXX -ac_cv_env_CXX_set=${CXX+set} -ac_cv_env_CXX_value=$CXX -ac_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_env_CXXFLAGS_value=$CXXFLAGS -ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_cv_env_CXXFLAGS_value=$CXXFLAGS -ac_env_CXXCPP_set=${CXXCPP+set} -ac_env_CXXCPP_value=$CXXCPP -ac_cv_env_CXXCPP_set=${CXXCPP+set} -ac_cv_env_CXXCPP_value=$CXXCPP -ac_env_DOCBOOKSTYLE_set=${DOCBOOKSTYLE+set} -ac_env_DOCBOOKSTYLE_value=$DOCBOOKSTYLE -ac_cv_env_DOCBOOKSTYLE_set=${DOCBOOKSTYLE+set} -ac_cv_env_DOCBOOKSTYLE_value=$DOCBOOKSTYLE - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # 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 <<_ACEOF -\`configure' configures PostgreSQL 7.3devel to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -_ACEOF - - cat <<_ACEOF -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data [PREFIX/share] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --infodir=DIR info documentation [PREFIX/info] - --mandir=DIR man documentation [PREFIX/man] -_ACEOF - - cat <<\_ACEOF - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of PostgreSQL 7.3devel:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-integer-datetimes enable 64-bit integer date/time support - --enable-recode enable character set recode support - --enable-nls[=LANGUAGES] enable Native Language Support - --disable-shared do not build shared libraries - --disable-rpath do not embed shared library search path in executables - --enable-debug build with debugging symbols (-g) - --enable-depend turn on automatic dependency tracking - --enable-cassert enable assertion checks (for debugging) - --enable-odbc build the ODBC driver package - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - - --with-includes=DIRS look for additional header files in DIRS - --with-libraries=DIRS look for additional libraries in DIRS - --with-libs=DIRS alternative spelling of --with-libraries - --with-pgport=PORTNUM change default port number 5432 - --with-maxbackends=N set default maximum number of connections 32 - --with-tcl build Tcl and Tk interfaces - --without-tk do not build Tk interfaces if Tcl is enabled - --with-tclconfig=DIR tclConfig.sh and tkConfig.sh are in DIR - --with-tkconfig=DIR tkConfig.sh is in DIR - --with-perl build Perl interface and PL/Perl - --with-python build Python interface module - --with-java build JDBC interface and Java tools - --with-krb4[=DIR] build with Kerberos 4 support [/usr/athena] - --with-krb5[=DIR] build with Kerberos 5 support [/usr/athena] - --with-krb-srvnam=NAME name of the service principal in Kerberos postgres - --with-pam build with PAM support - --with-openssl[=DIR] build with OpenSSL support [/usr/local/ssl] - --without-readline do not use Readline - --without-zlib do not use Zlib - --with-unixodbc build ODBC driver for unixODBC - --with-iodbc build ODBC driver for iODBC - --with-odbcinst=DIR default directory for odbcinst.ini sysconfdir - --with-CXX build C++ modules (libpq++) - --with-gnu-ld assume the C compiler uses GNU ld default=no - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have - headers in a nonstandard directory - CPP C preprocessor - CXX C++ compiler command - CXXFLAGS C++ compiler flags - CXXCPP C++ preprocessor - DOCBOOKSTYLE - location of DocBook stylesheets - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -_ACEOF -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - ac_popdir=`pwd` - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d $ac_dir || continue - ac_builddir=. - -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi - -case $srcdir in - .) # No --srcdir option. We are building in place. - ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` - - cd $ac_dir - # Check for guested configure; otherwise get Cygnus style configure. - if test -f $ac_srcdir/configure.gnu; then - echo - $SHELL $ac_srcdir/configure.gnu --help=recursive - elif test -f $ac_srcdir/configure; then - echo - $SHELL $ac_srcdir/configure --help=recursive - elif test -f $ac_srcdir/configure.ac || - test -f $ac_srcdir/configure.in; then - echo - $ac_configure --help - else - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi - cd $ac_popdir - done -fi - -test -n "$ac_init_help" && exit 0 -if $ac_init_version; then - cat <<\_ACEOF -PostgreSQL configure 7.3devel -generated by GNU Autoconf 2.53 - -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 -Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. - -Copyright 2002 PostgreSQL Global Development Group -_ACEOF - exit 0 -fi -exec 5>config.log -cat >&5 <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by PostgreSQL $as_me 7.3devel, which was -generated by GNU Autoconf 2.53. Invocation command line was - - $ $0 $@ - -_ACEOF -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -hostinfo = `(hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - echo "PATH: $as_dir" -done - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell meta-characters. -ac_configure_args= -ac_sep= -for ac_arg -do - case $ac_arg in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n ) continue ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - continue ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - ac_sep=" " ;; - esac - # Get rid of the leading space. -done - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Be sure not to use single quotes in there, as some shells, -# such as our DU 5.0 friend, will then `close' the trap. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - cat <<\_ASBOX -## ---------------- ## -## Cache variables. ## -## ---------------- ## -_ASBOX - echo - # The following way of writing the cache mishandles newlines in values, -{ - (set) 2>&1 | - case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in - *ac_space=\ *) - sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" - ;; - *) - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} - echo - if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## -## confdefs.h. ## -## ----------- ## -_ASBOX - echo - sed "/^$/d" confdefs.h - echo - fi - test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" - echo "$as_me: exit $exit_status" - } >&5 - rm -f core core.* *.core && - rm -rf conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status - ' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -done -ac_signal=0 - -# 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 - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# 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 "$as_me:$LINENO: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { echo "$as_me:$LINENO: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . $cache_file;; - *) . ./$cache_file;; - esac - fi -else - { echo "$as_me:$LINENO: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val="\$ac_cv_env_${ac_var}_value" - eval ac_new_val="\$ac_env_${ac_var}_value" - case $ac_old_set,$ac_new_set in - set,) - { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 -echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 -echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ac_aux_dir= -for ac_dir in config $srcdir/config; 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 - elif test -f $ac_dir/shtool; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config $srcdir/config" >&5 -echo "$as_me: error: cannot find install-sh or install.sh in config $srcdir/config" >&2;} - { (exit 1); exit 1; }; } -fi -ac_config_guess="$SHELL $ac_aux_dir/config.guess" -ac_config_sub="$SHELL $ac_aux_dir/config.sub" -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. - - -configure_args=$ac_configure_args - - - -cat >>confdefs.h <<_ACEOF -#define PG_VERSION "$PACKAGE_VERSION" -_ACEOF - - -# Make sure we can run config.sub. -$ac_config_sub sun4 >/dev/null 2>&1 || - { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 -echo "$as_me: error: cannot run $ac_config_sub" >&2;} - { (exit 1); exit 1; }; } - -echo "$as_me:$LINENO: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6 -if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_build_alias=$build_alias -test -z "$ac_cv_build_alias" && - ac_cv_build_alias=`$ac_config_guess` -test -z "$ac_cv_build_alias" && - { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6 -build=$ac_cv_build -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - - -echo "$as_me:$LINENO: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6 -if test "${ac_cv_host+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_host_alias=$host_alias -test -z "$ac_cv_host_alias" && - ac_cv_host_alias=$ac_cv_build_alias -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6 -host=$ac_cv_host -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - - - -template= -echo "$as_me:$LINENO: checking which template to use" >&5 -echo $ECHO_N "checking which template to use... $ECHO_C" >&6 - - - - -# Check whether --with-template or --without-template was given. -if test "${with_template+set}" = set; then - withval="$with_template" - - case $withval in - yes) - { { echo "$as_me:$LINENO: error: argument required for --with-template option" >&5 -echo "$as_me: error: argument required for --with-template option" >&2;} - { (exit 1); exit 1; }; } - ;; - no) - { { echo "$as_me:$LINENO: error: argument required for --with-template option" >&5 -echo "$as_me: error: argument required for --with-template option" >&2;} - { (exit 1); exit 1; }; } - ;; - *) - - case $withval in - list) echo; ls "$srcdir/src/template"; exit;; - *) if test -f "$srcdir/src/template/$with_template" ; then - template=$withval - else - { { echo "$as_me:$LINENO: error: '$withval' is not a valid template name. Use 'list' for a list." >&5 -echo "$as_me: error: '$withval' is not a valid template name. Use 'list' for a list." >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - - ;; - esac - -else - - # --with-template not given - -case $host_os in - aix*) template=aix ;; - beos*) template=beos ;; - bsdi*) template=bsdi ;; - cygwin*) template=win ;; - darwin*) template=darwin ;; - dgux*) template=dgux ;; - freebsd*) template=freebsd ;; - hpux*) template=hpux ;; - irix*) template=irix5 ;; - linux*) template=linux ;; - netbsd*) template=netbsd ;; -nextstep*) template=nextstep ;; - openbsd*) template=openbsd ;; - osf*) template=osf ;; - qnx*) template=qnx4 ;; - sco*) template=sco ;; - solaris*) template=solaris ;; - sunos*) template=sunos4 ;; - sysv4.2*) - case $host_vendor in - univel) template=univel ;; - esac ;; - sysv4*) template=svr4 ;; - sysv5*) template=unixware ;; - ultrix*) template=ultrix4 ;; -esac - - if test x"$template" = x"" ; then - { { echo "$as_me:$LINENO: error: -******************************************************************* -PostgreSQL has apparently not been ported to your platform yet. -To try a manual configuration, look into the src/template directory -for a similar platform and use the '--with-template=' option. - -Please also contact to see about -rectifying this. Include the above 'checking host system type...' -line. -******************************************************************* -" >&5 -echo "$as_me: error: -******************************************************************* -PostgreSQL has apparently not been ported to your platform yet. -To try a manual configuration, look into the src/template directory -for a similar platform and use the '--with-template=' option. - -Please also contact to see about -rectifying this. Include the above 'checking host system type...' -line. -******************************************************************* -" >&2;} - { (exit 1); exit 1; }; } - fi - - -fi; - - -echo "$as_me:$LINENO: result: $template" >&5 -echo "${ECHO_T}$template" >&6 - -PORTNAME=$template - - -# Pick right test-and-set (TAS) code. Most platforms have inline -# assembler code in src/include/storage/s_lock.h, so we just use -# a dummy file here. -case $host in - *-*-hpux*) need_tas=yes; tas_file=hpux.s ;; - sparc-*-solaris*) need_tas=yes; tas_file=solaris_sparc.s ;; - i?86-*-solaris*) need_tas=yes; tas_file=solaris_i386.s ;; - *) need_tas=no; tas_file=dummy.s ;; -esac -ac_config_links="$ac_config_links src/backend/port/tas.s:src/backend/port/tas/${tas_file}" - - -if test "$need_tas" = yes ; then - TAS=tas.o -fi - - - - -## -## Command line options -## - - -# -# Add non-standard directories to the include path -# - - - -# Check whether --with-includes or --without-includes was given. -if test "${with_includes+set}" = set; then - withval="$with_includes" - - case $withval in - yes) - { { echo "$as_me:$LINENO: error: argument required for --with-includes option" >&5 -echo "$as_me: error: argument required for --with-includes option" >&2;} - { (exit 1); exit 1; }; } - ;; - no) - { { echo "$as_me:$LINENO: error: argument required for --with-includes option" >&5 -echo "$as_me: error: argument required for --with-includes option" >&2;} - { (exit 1); exit 1; }; } - ;; - *) - - ;; - esac - -fi; - - - -# -# Add non-standard directories to the library search path -# - - - -# Check whether --with-libraries or --without-libraries was given. -if test "${with_libraries+set}" = set; then - withval="$with_libraries" - - case $withval in - yes) - { { echo "$as_me:$LINENO: error: argument required for --with-libraries option" >&5 -echo "$as_me: error: argument required for --with-libraries option" >&2;} - { (exit 1); exit 1; }; } - ;; - no) - { { echo "$as_me:$LINENO: error: argument required for --with-libraries option" >&5 -echo "$as_me: error: argument required for --with-libraries option" >&2;} - { (exit 1); exit 1; }; } - ;; - *) - LIBRARY_DIRS=$withval - ;; - esac - -fi; - - - - - -# Check whether --with-libs or --without-libs was given. -if test "${with_libs+set}" = set; then - withval="$with_libs" - - case $withval in - yes) - { { echo "$as_me:$LINENO: error: argument required for --with-libs option" >&5 -echo "$as_me: error: argument required for --with-libs option" >&2;} - { (exit 1); exit 1; }; } - ;; - no) - { { echo "$as_me:$LINENO: error: argument required for --with-libs option" >&5 -echo "$as_me: error: argument required for --with-libs option" >&2;} - { (exit 1); exit 1; }; } - ;; - *) - LIBRARY_DIRS=$withval - ;; - esac - -fi; - - - -# -# 64-bit integer date/time storage (--enable-integer-datetimes) -# -echo "$as_me:$LINENO: checking whether to build with 64-bit integer date/time support" >&5 -echo $ECHO_N "checking whether to build with 64-bit integer date/time support... $ECHO_C" >&6 - - -# Check whether --enable-integer-datetimes or --disable-integer-datetimes was given. -if test "${enable_integer_datetimes+set}" = set; then - enableval="$enable_integer_datetimes" - - case $enableval in - yes) - -cat >>confdefs.h <<\_ACEOF -#define USE_INTEGER_DATETIMES 1 -_ACEOF - - ;; - no) - : - ;; - *) - { { echo "$as_me:$LINENO: error: no argument expected for --enable-integer-datetimes option" >&5 -echo "$as_me: error: no argument expected for --enable-integer-datetimes option" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - enable_integer_datetimes=no - -fi; - -echo "$as_me:$LINENO: result: $enable_integer_datetimes" >&5 -echo "${ECHO_T}$enable_integer_datetimes" >&6 - - -# Character set recode (--enable-recode) -# -echo "$as_me:$LINENO: checking whether to build with recode support" >&5 -echo $ECHO_N "checking whether to build with recode support... $ECHO_C" >&6 - - -# Check whether --enable-recode or --disable-recode was given. -if test "${enable_recode+set}" = set; then - enableval="$enable_recode" - - case $enableval in - yes) - -cat >>confdefs.h <<\_ACEOF -#define CYR_RECODE 1 -_ACEOF - - ;; - no) - : - ;; - *) - { { echo "$as_me:$LINENO: error: no argument expected for --enable-recode option" >&5 -echo "$as_me: error: no argument expected for --enable-recode option" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - enable_recode=no - -fi; - -echo "$as_me:$LINENO: result: $enable_recode" >&5 -echo "${ECHO_T}$enable_recode" >&6 - - -# -# Multibyte support -# -MULTIBYTE=SQL_ASCII - -cat >>confdefs.h <<\_ACEOF -#define MULTIBYTE 1 -_ACEOF - - - -# -# NLS -# -echo "$as_me:$LINENO: checking whether NLS is wanted" >&5 -echo $ECHO_N "checking whether NLS is wanted... $ECHO_C" >&6 - - -# Check whether --enable-nls or --disable-nls was given. -if test "${enable_nls+set}" = set; then - enableval="$enable_nls" - - case $enableval in - yes) - : - ;; - no) - : - ;; - *) - enable_nls=yes -WANTED_LANGUAGES=$enableval - ;; - esac - -else - enable_nls=no -fi; - - -if test "$enable_nls" = yes; then - -cat >>confdefs.h <<\_ACEOF -#define ENABLE_NLS 1 -_ACEOF - -fi - -echo "$as_me:$LINENO: result: $enable_nls" >&5 -echo "${ECHO_T}$enable_nls" >&6 - - - -# -# Default port number (--with-pgport), default 5432 -# -echo "$as_me:$LINENO: checking for default port number" >&5 -echo $ECHO_N "checking for default port number... $ECHO_C" >&6 - - - -# Check whether --with-pgport or --without-pgport was given. -if test "${with_pgport+set}" = set; then - withval="$with_pgport" - - case $withval in - yes) - { { echo "$as_me:$LINENO: error: argument required for --with-pgport option" >&5 -echo "$as_me: error: argument required for --with-pgport option" >&2;} - { (exit 1); exit 1; }; } - ;; - no) - { { echo "$as_me:$LINENO: error: argument required for --with-pgport option" >&5 -echo "$as_me: error: argument required for --with-pgport option" >&2;} - { (exit 1); exit 1; }; } - ;; - *) - default_port=$withval - ;; - esac - -else - default_port=5432 -fi; - -echo "$as_me:$LINENO: result: $default_port" >&5 -echo "${ECHO_T}$default_port" >&6 -# Need both of these because some places want an integer and some a string - -cat >>confdefs.h <<_ACEOF -#define DEF_PGPORT ${default_port} -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define DEF_PGPORT_STR "${default_port}" -_ACEOF - - - -# -# Maximum number of allowed connections (--with-maxbackends), default 32 -# -echo "$as_me:$LINENO: checking for default soft limit on number of connections" >&5 -echo $ECHO_N "checking for default soft limit on number of connections... $ECHO_C" >&6 - - - -# Check whether --with-maxbackends or --without-maxbackends was given. -if test "${with_maxbackends+set}" = set; then - withval="$with_maxbackends" - - case $withval in - yes) - { { echo "$as_me:$LINENO: error: argument required for --with-maxbackends option" >&5 -echo "$as_me: error: argument required for --with-maxbackends option" >&2;} - { (exit 1); exit 1; }; } - ;; - no) - { { echo "$as_me:$LINENO: error: argument required for --with-maxbackends option" >&5 -echo "$as_me: error: argument required for --with-maxbackends option" >&2;} - { (exit 1); exit 1; }; } - ;; - *) - - ;; - esac - -else - with_maxbackends=32 -fi; - -echo "$as_me:$LINENO: result: $with_maxbackends" >&5 -echo "${ECHO_T}$with_maxbackends" >&6 - -cat >>confdefs.h <<_ACEOF -#define DEF_MAXBACKENDS $with_maxbackends -_ACEOF - - - -# -# Option to disable shared libraries -# - - -# Check whether --enable-shared or --disable-shared was given. -if test "${enable_shared+set}" = set; then - enableval="$enable_shared" - - case $enableval in - yes) - : - ;; - no) - : - ;; - *) - { { echo "$as_me:$LINENO: error: no argument expected for --enable-shared option" >&5 -echo "$as_me: error: no argument expected for --enable-shared option" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - enable_shared=yes - -fi; - - - -# -# '-rpath'-like feature can be disabled -# - - -# Check whether --enable-rpath or --disable-rpath was given. -if test "${enable_rpath+set}" = set; then - enableval="$enable_rpath" - - case $enableval in - yes) - : - ;; - no) - : - ;; - *) - { { echo "$as_me:$LINENO: error: no argument expected for --enable-rpath option" >&5 -echo "$as_me: error: no argument expected for --enable-rpath option" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - enable_rpath=yes - -fi; - - - - -# -# --enable-debug adds -g to compiler flags -# - - -# Check whether --enable-debug or --disable-debug was given. -if test "${enable_debug+set}" = set; then - enableval="$enable_debug" - - case $enableval in - yes) - : - ;; - no) - : - ;; - *) - { { echo "$as_me:$LINENO: error: no argument expected for --enable-debug option" >&5 -echo "$as_me: error: no argument expected for --enable-debug option" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - enable_debug=no - -fi; - - - -# -# C compiler -# - -# For historical reasons you can also use --with-CC to specify the C compiler -# to use, although the standard way to do this is to set the CC environment -# variable. - - - -# Check whether --with-CC or --without-CC was given. -if test "${with_CC+set}" = set; then - withval="$with_CC" - - case $withval in - yes) - { { echo "$as_me:$LINENO: error: argument required for --with-CC option" >&5 -echo "$as_me: error: argument required for --with-CC option" >&2;} - { (exit 1); exit 1; }; } - ;; - no) - { { echo "$as_me:$LINENO: error: argument required for --with-CC option" >&5 -echo "$as_me: error: argument required for --with-CC option" >&2;} - { (exit 1); exit 1; }; } - ;; - *) - CC=$with_CC - ;; - esac - -fi; - - -case $template in - aix) pgac_cc_list="gcc xlc";; - irix) pgac_cc_list="cc";; # no gcc - *) pgac_cc_list="gcc cc";; -esac - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in $pgac_cc_list - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in $pgac_cc_list -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_CC" && break -done - - CC=$ac_ct_CC -fi - - -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH" >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH" >&2;} - { (exit 1); exit 1; }; } - -# Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -echo "$as_me:$LINENO: checking for C compiler default output" >&5 -echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 - (eval $ac_link_default) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Find the output, starting from the most likely. This scheme is -# not robust to junk in `.', hence go to wildcards (a.*) only as a last -# resort. - -# Be careful to initialize this variable, since it used to be cached. -# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. -ac_cv_exeext= -for ac_file in `ls a_out.exe a.exe conftest.exe 2>/dev/null; - ls a.out conftest 2>/dev/null; - ls a.* conftest.* 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb | *.xSYM ) ;; - a.out ) # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool --akim. - export ac_cv_exeext - break;; - * ) break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -{ { echo "$as_me:$LINENO: error: C compiler cannot create executables" >&5 -echo "$as_me: error: C compiler cannot create executables" >&2;} - { (exit 77); exit 77; }; } -fi - -ac_exeext=$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6 - -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&5 -echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&2;} - { (exit 1); exit 1; }; } - fi - fi -fi -echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - -rm -f a.out a.exe conftest$ac_cv_exeext -ac_clean_files=$ac_clean_files_save -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:$LINENO: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6 - -echo "$as_me:$LINENO: checking for suffix of executables" >&5 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext - break;; - * ) break;; - esac -done -else - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link" >&5 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link" >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6 - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -echo "$as_me:$LINENO: checking for suffix of object files" >&5 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 -if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile" >&5 -echo "$as_me: error: cannot compute suffix of object files: cannot compile" >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6 -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_compiler_gnu=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -CFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_prog_cc_g=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&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 -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. -cat >conftest.$ac_ext <<_ACEOF -#ifndef __cplusplus - choke me -#endif -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - for ac_declaration in \ - ''\ - '#include ' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -$ac_declaration -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -continue -fi -rm -f conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_declaration -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -# Read the template -. "$srcdir/src/template/$template" || exit - -if test "$ac_env_CFLAGS_set" = set; then - CFLAGS=$ac_env_CFLAGS_value -fi -if test "$enable_debug" = yes && test "$ac_cv_prog_cc_g" = yes; then - CFLAGS="$CFLAGS -g" -fi -{ echo "$as_me:$LINENO: using CFLAGS=$CFLAGS" >&5 -echo "$as_me: using CFLAGS=$CFLAGS" >&6;} -# Check if the compiler still works with the template settings -echo "$as_me:$LINENO: checking whether the C compiler still works" >&5 -echo $ECHO_N "checking whether the C compiler still works... $ECHO_C" >&6 - -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - { { echo "$as_me:$LINENO: error: cannot proceed" >&5 -echo "$as_me: error: cannot proceed" >&2;} - { (exit 1); exit 1; }; } -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - Syntax error -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - Syntax error -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check" >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -# Create compiler version string -if test x"$GCC" = x"yes" ; then - cc_string="GCC `${CC} --version | sed q`" -else - cc_string=$CC -fi - -cat >>confdefs.h <<_ACEOF -#define PG_VERSION_STR "PostgreSQL $PACKAGE_VERSION on $host, compiled by $cc_string" -_ACEOF - - - -# -# Automatic dependency tracking -# - - -# Check whether --enable-depend or --disable-depend was given. -if test "${enable_depend+set}" = set; then - enableval="$enable_depend" - - case $enableval in - yes) - autodepend=yes - ;; - no) - : - ;; - *) - { { echo "$as_me:$LINENO: error: no argument expected for --enable-depend option" >&5 -echo "$as_me: error: no argument expected for --enable-depend option" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - enable_depend=no - -fi; - - - - -# -# Enable assert checks -# - - -# Check whether --enable-cassert or --disable-cassert was given. -if test "${enable_cassert+set}" = set; then - enableval="$enable_cassert" - - case $enableval in - yes) - -cat >>confdefs.h <<\_ACEOF -#define USE_ASSERT_CHECKING 1 -_ACEOF - - ;; - no) - : - ;; - *) - { { echo "$as_me:$LINENO: error: no argument expected for --enable-cassert option" >&5 -echo "$as_me: error: no argument expected for --enable-cassert option" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - enable_cassert=no - -fi; - - - -# -# Include directories -# -ac_save_IFS=$IFS -IFS="${IFS}:" -# SRCH_INC comes from the template file -for dir in $with_includes $SRCH_INC; do - if test -d "$dir"; then - INCLUDES="$INCLUDES -I$dir" - else - { echo "$as_me:$LINENO: WARNING: *** Include directory $dir does not exist." >&5 -echo "$as_me: WARNING: *** Include directory $dir does not exist." >&2;} - fi -done -IFS=$ac_save_IFS - - - -# -# Library directories -# -ac_save_IFS=$IFS -IFS="${IFS}:" -# LIBRARY_DIRS comes from command line, SRCH_LIB from template file. -for dir in $LIBRARY_DIRS $SRCH_LIB; do - if test -d "$dir"; then - LIBDIRS="$LIBDIRS -L$dir" - else - { echo "$as_me:$LINENO: WARNING: *** Library directory $dir does not exist." >&5 -echo "$as_me: WARNING: *** Library directory $dir does not exist." >&2;} - fi -done -IFS=$ac_save_IFS - - -# -# Tcl/Tk -# -echo "$as_me:$LINENO: checking whether to build with Tcl" >&5 -echo $ECHO_N "checking whether to build with Tcl... $ECHO_C" >&6 - - - -# Check whether --with-tcl or --without-tcl was given. -if test "${with_tcl+set}" = set; then - withval="$with_tcl" - - case $withval in - yes) - : - ;; - no) - : - ;; - *) - { { echo "$as_me:$LINENO: error: no argument expected for --with-tcl option" >&5 -echo "$as_me: error: no argument expected for --with-tcl option" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - with_tcl=no - -fi; - -echo "$as_me:$LINENO: result: $with_tcl" >&5 -echo "${ECHO_T}$with_tcl" >&6 - - -# If Tcl is enabled (above) then Tk is also, unless the user disables it using --without-tk -echo "$as_me:$LINENO: checking whether to build with Tk" >&5 -echo $ECHO_N "checking whether to build with Tk... $ECHO_C" >&6 -if test "$with_tcl" = yes; then - - - -# Check whether --with-tk or --without-tk was given. -if test "${with_tk+set}" = set; then - withval="$with_tk" - - case $withval in - yes) - : - ;; - no) - : - ;; - *) - { { echo "$as_me:$LINENO: error: no argument expected for --with-tk option" >&5 -echo "$as_me: error: no argument expected for --with-tk option" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - with_tk=yes - -fi; - -else - with_tk=no -fi -echo "$as_me:$LINENO: result: $with_tk" >&5 -echo "${ECHO_T}$with_tk" >&6 - - - -# We see if the path to the Tcl/Tk configuration scripts is specified. -# This will override the use of tclsh to find the paths to search. - - - - -# Check whether --with-tclconfig or --without-tclconfig was given. -if test "${with_tclconfig+set}" = set; then - withval="$with_tclconfig" - - case $withval in - yes) - { { echo "$as_me:$LINENO: error: argument required for --with-tclconfig option" >&5 -echo "$as_me: error: argument required for --with-tclconfig option" >&2;} - { (exit 1); exit 1; }; } - ;; - no) - { { echo "$as_me:$LINENO: error: argument required for --with-tclconfig option" >&5 -echo "$as_me: error: argument required for --with-tclconfig option" >&2;} - { (exit 1); exit 1; }; } - ;; - *) - - ;; - esac - -fi; - - -# We see if the path to the Tk configuration scripts is specified. -# This will override the use of tclsh to find the paths to search. - - - - -# Check whether --with-tkconfig or --without-tkconfig was given. -if test "${with_tkconfig+set}" = set; then - withval="$with_tkconfig" - - case $withval in - yes) - { { echo "$as_me:$LINENO: error: argument required for --with-tkconfig option" >&5 -echo "$as_me: error: argument required for --with-tkconfig option" >&2;} - { (exit 1); exit 1; }; } - ;; - no) - { { echo "$as_me:$LINENO: error: argument required for --with-tkconfig option" >&5 -echo "$as_me: error: argument required for --with-tkconfig option" >&2;} - { (exit 1); exit 1; }; } - ;; - *) - - ;; - esac - -fi; - - -# -# Optionally build Perl modules (Pg.pm and PL/Perl) -# -echo "$as_me:$LINENO: checking whether to build Perl modules" >&5 -echo $ECHO_N "checking whether to build Perl modules... $ECHO_C" >&6 - - - -# Check whether --with-perl or --without-perl was given. -if test "${with_perl+set}" = set; then - withval="$with_perl" - - case $withval in - yes) - : - ;; - no) - : - ;; - *) - { { echo "$as_me:$LINENO: error: no argument expected for --with-perl option" >&5 -echo "$as_me: error: no argument expected for --with-perl option" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - with_perl=no - -fi; - -echo "$as_me:$LINENO: result: $with_perl" >&5 -echo "${ECHO_T}$with_perl" >&6 - - -# -# Optionally build Python interface module -# -echo "$as_me:$LINENO: checking whether to build Python modules" >&5 -echo $ECHO_N "checking whether to build Python modules... $ECHO_C" >&6 - - - -# Check whether --with-python or --without-python was given. -if test "${with_python+set}" = set; then - withval="$with_python" - - case $withval in - yes) - : - ;; - no) - : - ;; - *) - { { echo "$as_me:$LINENO: error: no argument expected for --with-python option" >&5 -echo "$as_me: error: no argument expected for --with-python option" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - with_python=no - -fi; - -echo "$as_me:$LINENO: result: $with_python" >&5 -echo "${ECHO_T}$with_python" >&6 - - -# -# Optionally build the Java/JDBC tools -# -echo "$as_me:$LINENO: checking whether to build Java/JDBC tools" >&5 -echo $ECHO_N "checking whether to build Java/JDBC tools... $ECHO_C" >&6 - - - -# Check whether --with-java or --without-java was given. -if test "${with_java+set}" = set; then - withval="$with_java" - - case $withval in - yes) - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - - for ac_prog in jakarta-ant ant ant.sh ant.bat -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_ANT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $ANT in - [\\/]* | ?:[\\/]*) - ac_cv_path_ANT="$ANT" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ANT="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - ;; -esac -fi -ANT=$ac_cv_path_ANT - -if test -n "$ANT"; then - echo "$as_me:$LINENO: result: $ANT" >&5 -echo "${ECHO_T}$ANT" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ANT" && break -done - - - echo "$as_me:$LINENO: checking whether $ANT works" >&5 -echo $ECHO_N "checking whether $ANT works... $ECHO_C" >&6 -if test "${pgac_cv_prog_ant_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat > conftest.java << EOF -public class conftest { - int testmethod(int a, int b) { - return a + b; - } -} -EOF - - cat > conftest.xml << EOF - - - - - - -EOF - - pgac_cmd='$ANT -buildfile conftest.xml 1>&2' - { (eval echo "$as_me:$LINENO: \"$pgac_cmd\"") >&5 - (eval $pgac_cmd) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - pgac_save_status=$? - if test $? = 0 && test -f ./conftest.class ; then - pgac_cv_prog_ant_works=yes - else - echo "configure: failed java program was:" >&5 - cat conftest.java >&5 - echo "configure: failed build file was:" >&5 - cat conftest.xml >&5 - pgac_cv_prog_ant_works=no - fi - - rm -f conftest* core core.* *.core - -fi -echo "$as_me:$LINENO: result: $pgac_cv_prog_ant_works" >&5 -echo "${ECHO_T}$pgac_cv_prog_ant_works" >&6 - - if test "$pgac_cv_prog_ant_works" != yes; then - { { echo "$as_me:$LINENO: error: ant does not work" >&5 -echo "$as_me: error: ant does not work" >&2;} - { (exit 1); exit 1; }; } - fi - - -if test -z "$ANT"; then - { { echo "$as_me:$LINENO: error: Ant is required to build Java components" >&5 -echo "$as_me: error: Ant is required to build Java components" >&2;} - { (exit 1); exit 1; }; } -fi - ;; - no) - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - ;; - *) - { { echo "$as_me:$LINENO: error: no argument expected for --with-java option" >&5 -echo "$as_me: error: no argument expected for --with-java option" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - with_java=no -echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi; - - - - -# -# Kerberos 4 -# -echo "$as_me:$LINENO: checking whether to build with Kerberos 4 support" >&5 -echo $ECHO_N "checking whether to build with Kerberos 4 support... $ECHO_C" >&6 - - - -# Check whether --with-krb4 or --without-krb4 was given. -if test "${with_krb4+set}" = set; then - withval="$with_krb4" - - case $withval in - yes) - krb4_prefix=/usr/athena - ;; - no) - : - ;; - *) - with_krb4=yes -krb4_prefix=$withval - ;; - esac - -else - with_krb4=no -fi; - - -if test "$with_krb4" = yes; then - - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - -cat >>confdefs.h <<\_ACEOF -#define KRB4 1 -_ACEOF - - - if test -d "$krb4_prefix/include"; then - INCLUDES="$INCLUDES -I$krb4_prefix/include" - fi - if test -d "$krb4_prefix/lib"; then - LIBDIRS="$LIBDIRS -L$krb4_prefix/lib" - fi - - krb_srvtab="/etc/srvtab" - -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - - - - -# -# Kerberos 5 -# -echo "$as_me:$LINENO: checking whether to build with Kerberos 5 support" >&5 -echo $ECHO_N "checking whether to build with Kerberos 5 support... $ECHO_C" >&6 - - - -# Check whether --with-krb5 or --without-krb5 was given. -if test "${with_krb5+set}" = set; then - withval="$with_krb5" - - case $withval in - yes) - krb5_prefix=/usr/athena - ;; - no) - : - ;; - *) - with_krb5=yes -krb5_prefix=$withval - ;; - esac - -else - with_krb5=no -fi; - - -if test "$with_krb5" = yes; then - - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - -cat >>confdefs.h <<\_ACEOF -#define KRB5 1 -_ACEOF - - - if test -d "$krb5_prefix/include"; then - INCLUDES="$INCLUDES -I$krb5_prefix/include" - fi - if test -d "$krb5_prefix/lib"; then - LIBDIRS="$LIBDIRS -L$krb5_prefix/lib" - fi - - krb_srvtab="FILE:\$(sysconfdir)/krb5.keytab" - -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - - - - -# Using both Kerberos 4 and Kerberos 5 at the same time isn't going to work. -if test "$with_krb4" = yes && test "$with_krb5" = yes ; then - { { echo "$as_me:$LINENO: error: Kerberos 4 and Kerberos 5 support cannot be combined" >&5 -echo "$as_me: error: Kerberos 4 and Kerberos 5 support cannot be combined" >&2;} - { (exit 1); exit 1; }; } -fi - - - - -# -# Kerberos configuration parameters -# - - - -# Check whether --with-krb-srvnam or --without-krb-srvnam was given. -if test "${with_krb_srvnam+set}" = set; then - withval="$with_krb_srvnam" - - case $withval in - yes) - { { echo "$as_me:$LINENO: error: argument required for --with-krb-srvnam option" >&5 -echo "$as_me: error: argument required for --with-krb-srvnam option" >&2;} - { (exit 1); exit 1; }; } - ;; - no) - { { echo "$as_me:$LINENO: error: argument required for --with-krb-srvnam option" >&5 -echo "$as_me: error: argument required for --with-krb-srvnam option" >&2;} - { (exit 1); exit 1; }; } - ;; - *) - - ;; - esac - -else - with_krb_srvnam="postgres" -fi; - - -cat >>confdefs.h <<_ACEOF -#define PG_KRB_SRVNAM "$with_krb_srvnam" -_ACEOF - - - -# -# PAM -# -echo "$as_me:$LINENO: checking whether to build with PAM support" >&5 -echo $ECHO_N "checking whether to build with PAM support... $ECHO_C" >&6 - - - -# Check whether --with-pam or --without-pam was given. -if test "${with_pam+set}" = set; then - withval="$with_pam" - - case $withval in - yes) - -cat >>confdefs.h <<\_ACEOF -#define USE_PAM 1 -_ACEOF - - ;; - no) - : - ;; - *) - { { echo "$as_me:$LINENO: error: no argument expected for --with-pam option" >&5 -echo "$as_me: error: no argument expected for --with-pam option" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - with_pam=no - -fi; - -echo "$as_me:$LINENO: result: $with_pam" >&5 -echo "${ECHO_T}$with_pam" >&6 - - - -# -# OpenSSL -# - - - -# Check whether --with-openssl or --without-openssl was given. -if test "${with_openssl+set}" = set; then - withval="$with_openssl" - - case $withval in - yes) - openssl_prefix=/usr/local/ssl - ;; - no) - : - ;; - *) - with_openssl=yes -openssl_prefix=$withval - ;; - esac - -else - with_openssl=no -fi; - - -if test "$with_openssl" = yes; then - - echo "$as_me:$LINENO: result: building with OpenSSL support" >&5 -echo "${ECHO_T}building with OpenSSL support" >&6 - -cat >>confdefs.h <<\_ACEOF -#define USE_SSL 1 -_ACEOF - - - if test -d "${openssl_prefix}/include" ; then - INCLUDES="$INCLUDES -I${openssl_prefix}/include" - fi - if test -d "${openssl_prefix}/lib" ; then - LIBDIRS="$LIBDIRS -L${openssl_prefix}/lib" - fi - -fi - - - - - -# -# Readline -# - - - -# Check whether --with-readline or --without-readline was given. -if test "${with_readline+set}" = set; then - withval="$with_readline" - - case $withval in - yes) - : - ;; - no) - : - ;; - *) - { { echo "$as_me:$LINENO: error: no argument expected for --with-readline option" >&5 -echo "$as_me: error: no argument expected for --with-readline option" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - with_readline=yes - -fi; - - -# -# Zlib -# - - - -# Check whether --with-zlib or --without-zlib was given. -if test "${with_zlib+set}" = set; then - withval="$with_zlib" - - case $withval in - yes) - : - ;; - no) - : - ;; - *) - { { echo "$as_me:$LINENO: error: no argument expected for --with-zlib option" >&5 -echo "$as_me: error: no argument expected for --with-zlib option" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - with_zlib=yes - -fi; - - - - -# -# Optionally enable the building of the ODBC driver -# - -# Old option name -if test "${with_odbc+set}" = set && test "${enable_odbc+set}" != set; then - enable_odbc=$with_odbc -fi - -echo "$as_me:$LINENO: checking whether to build the ODBC driver" >&5 -echo $ECHO_N "checking whether to build the ODBC driver... $ECHO_C" >&6 - - -# Check whether --enable-odbc or --disable-odbc was given. -if test "${enable_odbc+set}" = set; then - enableval="$enable_odbc" - - case $enableval in - yes) - : - ;; - no) - : - ;; - *) - { { echo "$as_me:$LINENO: error: no argument expected for --enable-odbc option" >&5 -echo "$as_me: error: no argument expected for --enable-odbc option" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - enable_odbc=no - -fi; - - - - -# Check whether --with-unixodbc or --without-unixodbc was given. -if test "${with_unixodbc+set}" = set; then - withval="$with_unixodbc" - - case $withval in - yes) - : - ;; - no) - : - ;; - *) - { { echo "$as_me:$LINENO: error: no argument expected for --with-unixodbc option" >&5 -echo "$as_me: error: no argument expected for --with-unixodbc option" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - with_unixodbc=no - -fi; - - - - -# Check whether --with-iodbc or --without-iodbc was given. -if test "${with_iodbc+set}" = set; then - withval="$with_iodbc" - - case $withval in - yes) - : - ;; - no) - : - ;; - *) - { { echo "$as_me:$LINENO: error: no argument expected for --with-iodbc option" >&5 -echo "$as_me: error: no argument expected for --with-iodbc option" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - with_iodbc=no - -fi; - -if test "$with_unixodbc" = yes && test "$with_iodbc" = yes; then - { { echo "$as_me:$LINENO: error: ODBC driver cannot be built for both unixODBC and iODBC" >&5 -echo "$as_me: error: ODBC driver cannot be built for both unixODBC and iODBC" >&2;} - { (exit 1); exit 1; }; } -fi -if test "$with_unixodbc" = yes || test "$with_iodbc" = yes; then - enable_odbc=yes -fi -case $enable_odbc:$with_unixodbc:$with_iodbc in - yes:no:no) echo "$as_me:$LINENO: result: yes (stand-alone)" >&5 -echo "${ECHO_T}yes (stand-alone)" >&6;; - yes:yes:no) echo "$as_me:$LINENO: result: yes (unixODBC)" >&5 -echo "${ECHO_T}yes (unixODBC)" >&6 - -cat >>confdefs.h <<\_ACEOF -#define WITH_UNIXODBC 1 -_ACEOF - - ;; - yes:no:yes) echo "$as_me:$LINENO: result: yes (iODBC)" >&5 -echo "${ECHO_T}yes (iODBC)" >&6 - -cat >>confdefs.h <<\_ACEOF -#define WITH_IODBC 1 -_ACEOF - - ;; - no:*) echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6;; -esac - - - - - -# Allow for overriding the default location of the odbcinst.ini -# file which is normally ${sysconfdir} (i.e., ${prefix}/etc). - - - -# Check whether --with-odbcinst or --without-odbcinst was given. -if test "${with_odbcinst+set}" = set; then - withval="$with_odbcinst" - - case $withval in - yes) - { { echo "$as_me:$LINENO: error: argument required for --with-odbcinst option" >&5 -echo "$as_me: error: argument required for --with-odbcinst option" >&2;} - { (exit 1); exit 1; }; } - ;; - no) - { { echo "$as_me:$LINENO: error: argument required for --with-odbcinst option" >&5 -echo "$as_me: error: argument required for --with-odbcinst option" >&2;} - { (exit 1); exit 1; }; } - ;; - *) - odbcinst_ini_dir=$withval - ;; - esac - -else - odbcinst_ini_dir="\${sysconfdir}" -fi; - - - - - -# Assume system is ELF if it predefines __ELF__ as 1, -# otherwise believe host_os based default. -case $host_os in - freebsd1*|freebsd2*) elf=no;; - freebsd3*|freebsd4*) elf=yes;; -esac - - -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#if __ELF__ - yes -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "yes" >/dev/null 2>&1; then - ELF_SYS=true -else - if test "X$elf" = "Xyes" ; then - ELF_SYS=true -else - ELF_SYS= -fi -fi -rm -f conftest* - - - - - -# -# Optionally build C++ code (i.e., libpq++) -# -echo "$as_me:$LINENO: checking whether to build C++ modules" >&5 -echo $ECHO_N "checking whether to build C++ modules... $ECHO_C" >&6 - - - -# Check whether --with-CXX or --without-CXX was given. -if test "${with_CXX+set}" = set; then - withval="$with_CXX" - - case $withval in - yes) - : - ;; - no) - : - ;; - *) - with_CXX=yes -CXX=$withval - ;; - esac - -else - with_CXX=no -fi; - - -if test "$with_CXX" = yes; then - - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - - # If the user has specified CXXFLAGS in the environment, leave it - # alone, else use a default. - - ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_CXX" && break -done -test -n "$ac_ct_CXX" || ac_ct_CXX="g++" - - CXX=$ac_ct_CXX -fi - - -# Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_compiler_gnu=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 -GXX=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -CXXFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cxx_g=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_prog_cxx_g=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -for ac_declaration in \ - ''\ - '#include ' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -$ac_declaration -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -continue -fi -rm -f conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_declaration -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - if test "$ac_env_CXXFLAGS" != set; then - if test "$GXX" = yes; then - CXXFLAGS=-O2 - else - case $template in - osf) CXXFLAGS='-O4 -Olimit 2000' ;; - unixware) CXXFLAGS='-O' ;; - *) CXXFLAGS= ;; - esac - fi - fi - if test "$enable_debug" = yes && test "$ac_cv_prog_cxx_g" = yes; then - CXXFLAGS="$CXXFLAGS -g" - fi - { echo "$as_me:$LINENO: using CXXFLAGS=$CXXFLAGS" >&5 -echo "$as_me: using CXXFLAGS=$CXXFLAGS" >&6;} - - ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 -echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 -if test -z "$CXXCPP"; then - if test "${ac_cv_prog_CXXCPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - Syntax error -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -echo "$as_me:$LINENO: result: $CXXCPP" >&5 -echo "${ECHO_T}$CXXCPP" >&6 -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - Syntax error -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5 -echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - - - -CPPFLAGS="$CPPFLAGS $INCLUDES" -LDFLAGS="$LDFLAGS $LIBDIRS" - -{ echo "$as_me:$LINENO: using CPPFLAGS=$CPPFLAGS" >&5 -echo "$as_me: using CPPFLAGS=$CPPFLAGS" >&6;} -{ echo "$as_me:$LINENO: using LDFLAGS=$LDFLAGS" >&5 -echo "$as_me: using LDFLAGS=$LDFLAGS" >&6;} - - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$AWK" && break -done - -echo "$as_me:$LINENO: checking for flex" >&5 -echo $ECHO_N "checking for flex... $ECHO_C" >&6 -if test "${pgac_cv_path_flex+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Let the user override the test -if test -n "$FLEX"; then - pgac_cv_path_flex=$FLEX -else - pgac_save_IFS=$IFS - IFS=: - for pgac_dir in $PATH; do - if test -z "$pgac_dir" || test x"$pgac_dir" = x"."; then - pgac_dir=`pwd` - fi - for pgac_prog in flex lex; do - pgac_candidate="$pgac_dir/$pgac_prog" - if test -f "$pgac_candidate" \ - && $pgac_candidate --version /dev/null 2>&1 - then - echo '%%' > conftest.l - if $pgac_candidate -t conftest.l 2>/dev/null | grep FLEX_SCANNER >/dev/null 2>&1; then - if $pgac_candidate --version | grep '2\.5\.3' >/dev/null 2>&1; then - pgac_broken_flex=$pgac_candidate - continue - fi - - pgac_cv_path_flex=$pgac_candidate - break 2 - fi - fi - done - done - IFS=$pgac_save_IFS - rm -f conftest.l - : ${pgac_cv_path_flex=no} -fi - -fi -echo "$as_me:$LINENO: result: $pgac_cv_path_flex" >&5 -echo "${ECHO_T}$pgac_cv_path_flex" >&6 -if test x"$pgac_cv_path_flex" = x"no"; then - if test -n "$pgac_broken_flex"; then - { echo "$as_me:$LINENO: WARNING: -*** The Flex version 2.5.3 you have at $pgac_broken_flex contains a bug. You -*** should get version 2.5.4 or later." >&5 -echo "$as_me: WARNING: -*** The Flex version 2.5.3 you have at $pgac_broken_flex contains a bug. You -*** should get version 2.5.4 or later." >&2;} - fi - - { echo "$as_me:$LINENO: WARNING: -*** Without Flex you will not be able to build PostgreSQL from CVS or -*** change any of the scanner definition files. You can obtain Flex from -*** a GNU mirror site. (If you are using the official distribution of -*** PostgreSQL then you do not need to worry about this because the Flex -*** output is pre-generated.)" >&5 -echo "$as_me: WARNING: -*** Without Flex you will not be able to build PostgreSQL from CVS or -*** change any of the scanner definition files. You can obtain Flex from -*** a GNU mirror site. (If you are using the official distribution of -*** PostgreSQL then you do not need to worry about this because the Flex -*** output is pre-generated.)" >&2;} -fi - -if test x"$pgac_cv_path_flex" = x"no"; then - FLEX= -else - FLEX=$pgac_cv_path_flex -fi - - - - -echo "$as_me:$LINENO: checking whether ln -s works" >&5 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me:$LINENO: result: no, using $LN_S" >&5 -echo "${ECHO_T}no, using $LN_S" >&6 -fi - - -# 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 "$as_me:$LINENO: checking for ld used by GCC" >&5 -echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6 - 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 "$as_me:$LINENO: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 -else - echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 -fi -if test "${ac_cv_path_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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 - ac_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 "$ac_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 - ac_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi - -LD="$ac_cv_path_LD" -if test -n "$LD"; then - echo "$as_me:$LINENO: result: $LD" >&5 -echo "${ECHO_T}$LD" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 -if test "${ac_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 &5; then - ac_cv_prog_gnu_ld=yes -else - ac_cv_prog_gnu_ld=no -fi -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_gnu_ld" >&5 -echo "${ECHO_T}$ac_cv_prog_gnu_ld" >&6 -with_gnu_ld=$ac_cv_prog_gnu_ld - - - - -case $host_os in sysv5*) - echo "$as_me:$LINENO: checking whether ld -R works" >&5 -echo $ECHO_N "checking whether ld -R works... $ECHO_C" >&6 -if test "${pgac_cv_prog_ld_R+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - pgac_save_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -Wl,-R/usr/lib" - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - pgac_cv_prog_ld_R=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -pgac_cv_prog_ld_R=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$pgac_save_LDFLAGS - -fi -echo "$as_me:$LINENO: result: $pgac_cv_prog_ld_R" >&5 -echo "${ECHO_T}$pgac_cv_prog_ld_R" >&6 - ld_R_works=$pgac_cv_prog_ld_R - -esac -if test -n "$ac_tool_prefix"; then - # 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 "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - echo "$as_me:$LINENO: result: $RANLIB" >&5 -echo "${ECHO_T}$RANLIB" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 -echo "${ECHO_T}$ac_ct_RANLIB" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - RANLIB=$ac_ct_RANLIB -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -for ac_prog in lorder -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_LORDER+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$LORDER"; then - ac_cv_prog_LORDER="$LORDER" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LORDER="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -LORDER=$ac_cv_prog_LORDER -if test -n "$LORDER"; then - echo "$as_me:$LINENO: result: $LORDER" >&5 -echo "${ECHO_T}$LORDER" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$LORDER" && break -done - -# Extract the first word of "tar", so it can be a program name with args. -set dummy tar; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_TAR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $TAR in - [\\/]* | ?:[\\/]*) - ac_cv_path_TAR="$TAR" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_TAR="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - ;; -esac -fi -TAR=$ac_cv_path_TAR - -if test -n "$TAR"; then - echo "$as_me:$LINENO: result: $TAR" >&5 -echo "${ECHO_T}$TAR" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - - if test -n "$ac_tool_prefix"; then - # 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 "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - STRIP=$ac_ct_STRIP -else - STRIP="$ac_cv_prog_STRIP" -fi - - - echo "$as_me:$LINENO: checking whether it is possible to strip libraries" >&5 -echo $ECHO_N "checking whether it is possible to strip libraries... $ECHO_C" >&6 - if test x"$STRIP" != x"" && "$STRIP" -V 2>&1 | grep "GNU strip" >/dev/null; then - STRIP_STATIC_LIB="$STRIP -x" - STRIP_SHARED_LIB="$STRIP --strip-unneeded" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - else - STRIP_STATIC_LIB=: - STRIP_SHARED_LIB=: - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - fi - - - - -for ac_prog in 'bison -y' -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_YACC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$YACC"; then - ac_cv_prog_YACC="$YACC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_YACC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -YACC=$ac_cv_prog_YACC -if test -n "$YACC"; then - echo "$as_me:$LINENO: result: $YACC" >&5 -echo "${ECHO_T}$YACC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$YACC" && break -done - -if test -z "$YACC"; then - { echo "$as_me:$LINENO: WARNING: -*** Without Bison you will not be able to build PostgreSQL from CVS or -*** change any of the parser definition files. You can obtain Bison from -*** a GNU mirror site. (If you are using the official distribution of -*** PostgreSQL then you do not need to worry about this because the Bison -*** output is pre-generated.) To use a different yacc program (possible, -*** but not recommended), set the environment variable YACC before running -*** 'configure'." >&5 -echo "$as_me: WARNING: -*** Without Bison you will not be able to build PostgreSQL from CVS or -*** change any of the parser definition files. You can obtain Bison from -*** a GNU mirror site. (If you are using the official distribution of -*** PostgreSQL then you do not need to worry about this because the Bison -*** output is pre-generated.) To use a different yacc program (possible, -*** but not recommended), set the environment variable YACC before running -*** 'configure'." >&2;} -fi - - -if test "$with_tk" = yes; then - # Extract the first word of "wish", so it can be a program name with args. -set dummy wish; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_WISH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $WISH in - [\\/]* | ?:[\\/]*) - ac_cv_path_WISH="$WISH" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_WISH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - ;; -esac -fi -WISH=$ac_cv_path_WISH - -if test -n "$WISH"; then - echo "$as_me:$LINENO: result: $WISH" >&5 -echo "${ECHO_T}$WISH" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -z "$WISH" && { { echo "$as_me:$LINENO: error: 'wish' is required for Tk support" >&5 -echo "$as_me: error: 'wish' is required for Tk support" >&2;} - { (exit 1); exit 1; }; } -fi - -# Extract the first word of "perl", so it can be a program name with args. -set dummy perl; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PERL+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $PERL in - [\\/]* | ?:[\\/]*) - ac_cv_path_PERL="$PERL" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - ;; -esac -fi -PERL=$ac_cv_path_PERL - -if test -n "$PERL"; then - echo "$as_me:$LINENO: result: $PERL" >&5 -echo "${ECHO_T}$PERL" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -if test "$with_perl" = yes; then - -echo "$as_me:$LINENO: checking for Perl installsitearch" >&5 -echo $ECHO_N "checking for Perl installsitearch... $ECHO_C" >&6 -perl_installsitearch=`$PERL -MConfig -e 'print $Config{installsitearch}'` -echo "$as_me:$LINENO: result: $perl_installsitearch" >&5 -echo "${ECHO_T}$perl_installsitearch" >&6 -echo "$as_me:$LINENO: checking for Perl installman3dir" >&5 -echo $ECHO_N "checking for Perl installman3dir... $ECHO_C" >&6 -perl_installman3dir=`$PERL -MConfig -e 'print $Config{installman3dir}'` -echo "$as_me:$LINENO: result: $perl_installman3dir" >&5 -echo "${ECHO_T}$perl_installman3dir" >&6 -echo "$as_me:$LINENO: checking for Perl archlibexp" >&5 -echo $ECHO_N "checking for Perl archlibexp... $ECHO_C" >&6 -perl_archlibexp=`$PERL -MConfig -e 'print $Config{archlibexp}'` -echo "$as_me:$LINENO: result: $perl_archlibexp" >&5 -echo "${ECHO_T}$perl_archlibexp" >&6 -echo "$as_me:$LINENO: checking for Perl privlibexp" >&5 -echo $ECHO_N "checking for Perl privlibexp... $ECHO_C" >&6 -perl_privlibexp=`$PERL -MConfig -e 'print $Config{privlibexp}'` -echo "$as_me:$LINENO: result: $perl_privlibexp" >&5 -echo "${ECHO_T}$perl_privlibexp" >&6 -echo "$as_me:$LINENO: checking for Perl useshrplib" >&5 -echo $ECHO_N "checking for Perl useshrplib... $ECHO_C" >&6 -perl_useshrplib=`$PERL -MConfig -e 'print $Config{useshrplib}'` -echo "$as_me:$LINENO: result: $perl_useshrplib" >&5 -echo "${ECHO_T}$perl_useshrplib" >&6 -echo "$as_me:$LINENO: checking for Perl man3ext" >&5 -echo $ECHO_N "checking for Perl man3ext... $ECHO_C" >&6 -perl_man3ext=`$PERL -MConfig -e 'print $Config{man3ext}'` -echo "$as_me:$LINENO: result: $perl_man3ext" >&5 -echo "${ECHO_T}$perl_man3ext" >&6 - -echo "$as_me:$LINENO: checking for flags to link embedded Perl" >&5 -echo $ECHO_N "checking for flags to link embedded Perl... $ECHO_C" >&6 -pgac_tmp1=`$PERL -MExtUtils::Embed -e ldopts` -pgac_tmp2=`$PERL -MConfig -e 'print $Config{ccdlflags}'` -perl_embed_ldflags=`echo X"$pgac_tmp1" | sed "s/^X//;s%$pgac_tmp2%%"` -echo "$as_me:$LINENO: result: $perl_embed_ldflags" >&5 -echo "${ECHO_T}$perl_embed_ldflags" >&6 -fi - -if test "$with_python" = yes; then - # Extract the first word of "python", so it can be a program name with args. -set dummy python; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PYTHON+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $PYTHON in - [\\/]* | ?:[\\/]*) - ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - ;; -esac -fi -PYTHON=$ac_cv_path_PYTHON - -if test -n "$PYTHON"; then - echo "$as_me:$LINENO: result: $PYTHON" >&5 -echo "${ECHO_T}$PYTHON" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -if test x"$PYTHON" = x""; then - { { echo "$as_me:$LINENO: error: Python not found" >&5 -echo "$as_me: error: Python not found" >&2;} - { (exit 1); exit 1; }; } -fi - - -echo "$as_me:$LINENO: checking Python installation directories" >&5 -echo $ECHO_N "checking Python installation directories... $ECHO_C" >&6 -python_version=`${PYTHON} -c "import sys; print sys.version[:3]"` -python_prefix=`${PYTHON} -c "import sys; print sys.prefix"` -python_execprefix=`${PYTHON} -c "import sys; print sys.exec_prefix"` -python_configdir="${python_execprefix}/lib/python${python_version}/config" -python_moduledir="${python_prefix}/lib/python${python_version}/site-packages" -python_moduleexecdir="${python_execprefix}/lib/python${python_version}/site-packages" -python_includespec="-I${python_prefix}/include/python${python_version}" -if test "$python_prefix" != "$python_execprefix"; then - python_includespec="-I${python_execprefix}/include/python${python_version} $python_includespec" -fi - -# This should be enough of a message. -if test "$python_prefix" != "$python_execprefix"; then - echo "$as_me:$LINENO: result: $python_prefix/lib/python${python_version} and $python_execprefix/lib/python${python_version}" >&5 -echo "${ECHO_T}$python_prefix/lib/python${python_version} and $python_execprefix/lib/python${python_version}" >&6 -else - echo "$as_me:$LINENO: result: $python_prefix/lib/python${python_version}" >&5 -echo "${ECHO_T}$python_prefix/lib/python${python_version}" >&6 -fi - - - - - -echo "$as_me:$LINENO: checking how to link an embedded Python application" >&5 -echo $ECHO_N "checking how to link an embedded Python application... $ECHO_C" >&6 - -_python_libs=`grep '^LIBS=' $python_configdir/Makefile | sed 's/^.*=//'` -_python_libc=`grep '^LIBC=' $python_configdir/Makefile | sed 's/^.*=//'` -_python_libm=`grep '^LIBM=' $python_configdir/Makefile | sed 's/^.*=//'` -_python_liblocalmod=`grep '^LOCALMODLIBS=' $python_configdir/Makefile | sed 's/^.*=//'` -_python_libbasemod=`grep '^BASEMODLIBS=' $python_configdir/Makefile | sed 's/^.*=//'` - -pgac_tab=" " # tab character -python_libspec=`echo X"-L$python_configdir $_python_libs $_python_libc $_python_libm -lpython$python_version $_python_liblocalmod $_python_libbasemod" | sed -e 's/^X//' -e "s/[ $pgac_tab][ $pgac_tab]*/ /g"` - -echo "$as_me:$LINENO: result: ${python_libspec}" >&5 -echo "${ECHO_T}${python_libspec}" >&6 - - -fi - - -## -## Libraries -## - -if test "$PORTNAME" != "aix" -a "$PORTNAME" != "alpha" -then - -echo "$as_me:$LINENO: checking for main in -lbsd" >&5 -echo $ECHO_N "checking for main in -lbsd... $ECHO_C" >&6 -if test "${ac_cv_lib_bsd_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lbsd $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_bsd_main=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_bsd_main=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_main" >&5 -echo "${ECHO_T}$ac_cv_lib_bsd_main" >&6 -if test $ac_cv_lib_bsd_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBBSD 1 -_ACEOF - - LIBS="-lbsd $LIBS" - -fi - -fi - -echo "$as_me:$LINENO: checking for setproctitle in -lutil" >&5 -echo $ECHO_N "checking for setproctitle in -lutil... $ECHO_C" >&6 -if test "${ac_cv_lib_util_setproctitle+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lutil $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char setproctitle (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -setproctitle (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_util_setproctitle=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_util_setproctitle=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_util_setproctitle" >&5 -echo "${ECHO_T}$ac_cv_lib_util_setproctitle" >&6 -if test $ac_cv_lib_util_setproctitle = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBUTIL 1 -_ACEOF - - LIBS="-lutil $LIBS" - -fi - - -echo "$as_me:$LINENO: checking for main in -lm" >&5 -echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6 -if test "${ac_cv_lib_m_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lm $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_m_main=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_m_main=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_m_main" >&5 -echo "${ECHO_T}$ac_cv_lib_m_main" >&6 -if test $ac_cv_lib_m_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBM 1 -_ACEOF - - LIBS="-lm $LIBS" - -fi - - -echo "$as_me:$LINENO: checking for main in -ldl" >&5 -echo $ECHO_N "checking for main in -ldl... $ECHO_C" >&6 -if test "${ac_cv_lib_dl_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dl_main=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_dl_main=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dl_main" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_main" >&6 -if test $ac_cv_lib_dl_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBDL 1 -_ACEOF - - LIBS="-ldl $LIBS" - -fi - - -echo "$as_me:$LINENO: checking for main in -lnsl" >&5 -echo $ECHO_N "checking for main in -lnsl... $ECHO_C" >&6 -if test "${ac_cv_lib_nsl_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lnsl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_nsl_main=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_nsl_main=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_main" >&5 -echo "${ECHO_T}$ac_cv_lib_nsl_main" >&6 -if test $ac_cv_lib_nsl_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBNSL 1 -_ACEOF - - LIBS="-lnsl $LIBS" - -fi - - -echo "$as_me:$LINENO: checking for main in -lsocket" >&5 -echo $ECHO_N "checking for main in -lsocket... $ECHO_C" >&6 -if test "${ac_cv_lib_socket_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsocket $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_socket_main=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_socket_main=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_socket_main" >&5 -echo "${ECHO_T}$ac_cv_lib_socket_main" >&6 -if test $ac_cv_lib_socket_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBSOCKET 1 -_ACEOF - - LIBS="-lsocket $LIBS" - -fi - - -echo "$as_me:$LINENO: checking for main in -lipc" >&5 -echo $ECHO_N "checking for main in -lipc... $ECHO_C" >&6 -if test "${ac_cv_lib_ipc_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lipc $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_ipc_main=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_ipc_main=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_main" >&5 -echo "${ECHO_T}$ac_cv_lib_ipc_main" >&6 -if test $ac_cv_lib_ipc_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBIPC 1 -_ACEOF - - LIBS="-lipc $LIBS" - -fi - - -echo "$as_me:$LINENO: checking for main in -lIPC" >&5 -echo $ECHO_N "checking for main in -lIPC... $ECHO_C" >&6 -if test "${ac_cv_lib_IPC_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lIPC $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_IPC_main=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_IPC_main=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_IPC_main" >&5 -echo "${ECHO_T}$ac_cv_lib_IPC_main" >&6 -if test $ac_cv_lib_IPC_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBIPC 1 -_ACEOF - - LIBS="-lIPC $LIBS" - -fi - - -echo "$as_me:$LINENO: checking for main in -llc" >&5 -echo $ECHO_N "checking for main in -llc... $ECHO_C" >&6 -if test "${ac_cv_lib_lc_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-llc $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_lc_main=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_lc_main=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_lc_main" >&5 -echo "${ECHO_T}$ac_cv_lib_lc_main" >&6 -if test $ac_cv_lib_lc_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBLC 1 -_ACEOF - - LIBS="-llc $LIBS" - -fi - - -echo "$as_me:$LINENO: checking for main in -ldld" >&5 -echo $ECHO_N "checking for main in -ldld... $ECHO_C" >&6 -if test "${ac_cv_lib_dld_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dld_main=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_dld_main=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dld_main" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_main" >&6 -if test $ac_cv_lib_dld_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBDLD 1 -_ACEOF - - LIBS="-ldld $LIBS" - -fi - - -echo "$as_me:$LINENO: checking for main in -lld" >&5 -echo $ECHO_N "checking for main in -lld... $ECHO_C" >&6 -if test "${ac_cv_lib_ld_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_ld_main=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_ld_main=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_ld_main" >&5 -echo "${ECHO_T}$ac_cv_lib_ld_main" >&6 -if test $ac_cv_lib_ld_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBLD 1 -_ACEOF - - LIBS="-lld $LIBS" - -fi - - -echo "$as_me:$LINENO: checking for main in -lcompat" >&5 -echo $ECHO_N "checking for main in -lcompat... $ECHO_C" >&6 -if test "${ac_cv_lib_compat_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcompat $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_compat_main=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_compat_main=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_compat_main" >&5 -echo "${ECHO_T}$ac_cv_lib_compat_main" >&6 -if test $ac_cv_lib_compat_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBCOMPAT 1 -_ACEOF - - LIBS="-lcompat $LIBS" - -fi - - -echo "$as_me:$LINENO: checking for main in -lBSD" >&5 -echo $ECHO_N "checking for main in -lBSD... $ECHO_C" >&6 -if test "${ac_cv_lib_BSD_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lBSD $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_BSD_main=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_BSD_main=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_BSD_main" >&5 -echo "${ECHO_T}$ac_cv_lib_BSD_main" >&6 -if test $ac_cv_lib_BSD_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBBSD 1 -_ACEOF - - LIBS="-lBSD $LIBS" - -fi - - -echo "$as_me:$LINENO: checking for main in -lgen" >&5 -echo $ECHO_N "checking for main in -lgen... $ECHO_C" >&6 -if test "${ac_cv_lib_gen_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lgen $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_gen_main=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_gen_main=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_gen_main" >&5 -echo "${ECHO_T}$ac_cv_lib_gen_main" >&6 -if test $ac_cv_lib_gen_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBGEN 1 -_ACEOF - - LIBS="-lgen $LIBS" - -fi - - -echo "$as_me:$LINENO: checking for main in -lPW" >&5 -echo $ECHO_N "checking for main in -lPW... $ECHO_C" >&6 -if test "${ac_cv_lib_PW_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lPW $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_PW_main=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_PW_main=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_PW_main" >&5 -echo "${ECHO_T}$ac_cv_lib_PW_main" >&6 -if test $ac_cv_lib_PW_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBPW 1 -_ACEOF - - LIBS="-lPW $LIBS" - -fi - - -echo "$as_me:$LINENO: checking for main in -lresolv" >&5 -echo $ECHO_N "checking for main in -lresolv... $ECHO_C" >&6 -if test "${ac_cv_lib_resolv_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lresolv $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_resolv_main=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_resolv_main=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_resolv_main" >&5 -echo "${ECHO_T}$ac_cv_lib_resolv_main" >&6 -if test $ac_cv_lib_resolv_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBRESOLV 1 -_ACEOF - - LIBS="-lresolv $LIBS" - -fi - -# QNX: - -echo "$as_me:$LINENO: checking for main in -lunix" >&5 -echo $ECHO_N "checking for main in -lunix... $ECHO_C" >&6 -if test "${ac_cv_lib_unix_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lunix $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_unix_main=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_unix_main=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_unix_main" >&5 -echo "${ECHO_T}$ac_cv_lib_unix_main" >&6 -if test $ac_cv_lib_unix_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBUNIX 1 -_ACEOF - - LIBS="-lunix $LIBS" - -fi - -echo "$as_me:$LINENO: checking for library containing crypt" >&5 -echo $ECHO_N "checking for library containing crypt... $ECHO_C" >&6 -if test "${ac_cv_search_crypt+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_func_search_save_LIBS=$LIBS -ac_cv_search_crypt=no -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char crypt (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -crypt (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_crypt="none required" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -if test "$ac_cv_search_crypt" = no; then - for ac_lib in crypt; do - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char crypt (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -crypt (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_crypt="-l$ac_lib" -break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - done -fi -LIBS=$ac_func_search_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_search_crypt" >&5 -echo "${ECHO_T}$ac_cv_search_crypt" >&6 -if test "$ac_cv_search_crypt" != no; then - test "$ac_cv_search_crypt" = "none required" || LIBS="$ac_cv_search_crypt $LIBS" - -fi - -# BeOS: - -echo "$as_me:$LINENO: checking for __inet_ntoa in -lbind" >&5 -echo $ECHO_N "checking for __inet_ntoa in -lbind... $ECHO_C" >&6 -if test "${ac_cv_lib_bind___inet_ntoa+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lbind $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char __inet_ntoa (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -__inet_ntoa (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_bind___inet_ntoa=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_bind___inet_ntoa=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_bind___inet_ntoa" >&5 -echo "${ECHO_T}$ac_cv_lib_bind___inet_ntoa" >&6 -if test $ac_cv_lib_bind___inet_ntoa = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBBIND 1 -_ACEOF - - LIBS="-lbind $LIBS" - -fi - -# Solaris: -echo "$as_me:$LINENO: checking for library containing fdatasync" >&5 -echo $ECHO_N "checking for library containing fdatasync... $ECHO_C" >&6 -if test "${ac_cv_search_fdatasync+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_func_search_save_LIBS=$LIBS -ac_cv_search_fdatasync=no -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char fdatasync (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -fdatasync (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_fdatasync="none required" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -if test "$ac_cv_search_fdatasync" = no; then - for ac_lib in rt posix4; do - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char fdatasync (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -fdatasync (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_fdatasync="-l$ac_lib" -break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - done -fi -LIBS=$ac_func_search_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_search_fdatasync" >&5 -echo "${ECHO_T}$ac_cv_search_fdatasync" >&6 -if test "$ac_cv_search_fdatasync" != no; then - test "$ac_cv_search_fdatasync" = "none required" || LIBS="$ac_cv_search_fdatasync $LIBS" - -fi - - -if test "$with_readline" = yes; then - -echo "$as_me:$LINENO: checking for readline" >&5 -echo $ECHO_N "checking for readline... $ECHO_C" >&6 - -if test "${pgac_cv_check_readline+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - pgac_cv_check_readline=no -for pgac_lib in "" " -ltermcap" " -lncurses" " -lcurses" ; do - for pgac_rllib in -lreadline -ledit ; do - pgac_save_LIBS=$LIBS - LIBS="${pgac_rllib}${pgac_lib} $LIBS" - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char readline (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -readline (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - # NetBSD and OpenBSD have a broken linker that does not - # recognize dependent libraries - case $host_os in netbsd* | openbsd* ) - case $pgac_lib in - *curses*) ;; - *) pgac_lib=" -lcurses" ;; - esac - esac - - pgac_cv_check_readline="${pgac_rllib}${pgac_lib}" - break 2 - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - LIBS=$pgac_save_LIBS - done -done -LIBS=$pgac_save_LIBS - -fi - -if test "$pgac_cv_check_readline" != no ; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_LIBREADLINE 1 -_ACEOF - - LIBS="$pgac_cv_check_readline $LIBS" - echo "$as_me:$LINENO: result: yes ($pgac_cv_check_readline)" >&5 -echo "${ECHO_T}yes ($pgac_cv_check_readline)" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - if test x"$pgac_cv_check_readline" = x"no"; then - { { echo "$as_me:$LINENO: error: readline library not found -Use --without-readline to disable readline support." >&5 -echo "$as_me: error: readline library not found -Use --without-readline to disable readline support." >&2;} - { (exit 1); exit 1; }; } - fi -fi - -if test "$with_zlib" = yes; then - -echo "$as_me:$LINENO: checking for inflate in -lz" >&5 -echo $ECHO_N "checking for inflate in -lz... $ECHO_C" >&6 -if test "${ac_cv_lib_z_inflate+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lz $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char inflate (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -inflate (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_z_inflate=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_z_inflate=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflate" >&5 -echo "${ECHO_T}$ac_cv_lib_z_inflate" >&6 -if test $ac_cv_lib_z_inflate = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBZ 1 -_ACEOF - - LIBS="-lz $LIBS" - -else - { { echo "$as_me:$LINENO: error: zlib library not found -Use --without-zlib to disable zlib support." >&5 -echo "$as_me: error: zlib library not found -Use --without-zlib to disable zlib support." >&2;} - { (exit 1); exit 1; }; } -fi - -fi - -if test "$with_krb4" = yes ; then - -echo "$as_me:$LINENO: checking for des_encrypt in -ldes" >&5 -echo $ECHO_N "checking for des_encrypt in -ldes... $ECHO_C" >&6 -if test "${ac_cv_lib_des_des_encrypt+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldes $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char des_encrypt (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -des_encrypt (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_des_des_encrypt=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_des_des_encrypt=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_des_des_encrypt" >&5 -echo "${ECHO_T}$ac_cv_lib_des_des_encrypt" >&6 -if test $ac_cv_lib_des_des_encrypt = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBDES 1 -_ACEOF - - LIBS="-ldes $LIBS" - -else - { { echo "$as_me:$LINENO: error: library 'des' is required for Kerberos 4" >&5 -echo "$as_me: error: library 'des' is required for Kerberos 4" >&2;} - { (exit 1); exit 1; }; } -fi - - -echo "$as_me:$LINENO: checking for krb_sendauth in -lkrb" >&5 -echo $ECHO_N "checking for krb_sendauth in -lkrb... $ECHO_C" >&6 -if test "${ac_cv_lib_krb_krb_sendauth+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lkrb $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char krb_sendauth (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -krb_sendauth (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_krb_krb_sendauth=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_krb_krb_sendauth=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_krb_krb_sendauth" >&5 -echo "${ECHO_T}$ac_cv_lib_krb_krb_sendauth" >&6 -if test $ac_cv_lib_krb_krb_sendauth = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBKRB 1 -_ACEOF - - LIBS="-lkrb $LIBS" - -else - { { echo "$as_me:$LINENO: error: library 'krb' is required for Kerberos 4" >&5 -echo "$as_me: error: library 'krb' is required for Kerberos 4" >&2;} - { (exit 1); exit 1; }; } -fi - -fi - -if test "$with_krb5" = yes ; then - echo "$as_me:$LINENO: checking for library containing com_err" >&5 -echo $ECHO_N "checking for library containing com_err... $ECHO_C" >&6 -if test "${ac_cv_search_com_err+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_func_search_save_LIBS=$LIBS -ac_cv_search_com_err=no -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char com_err (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -com_err (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_com_err="none required" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -if test "$ac_cv_search_com_err" = no; then - for ac_lib in krb5 'krb5 -ldes -lasn1 -lroken' com_err; do - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char com_err (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -com_err (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_com_err="-l$ac_lib" -break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - done -fi -LIBS=$ac_func_search_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_search_com_err" >&5 -echo "${ECHO_T}$ac_cv_search_com_err" >&6 -if test "$ac_cv_search_com_err" != no; then - test "$ac_cv_search_com_err" = "none required" || LIBS="$ac_cv_search_com_err $LIBS" - -else - { { echo "$as_me:$LINENO: error: could not find function 'com_err' required for Kerberos 5" >&5 -echo "$as_me: error: could not find function 'com_err' required for Kerberos 5" >&2;} - { (exit 1); exit 1; }; } -fi - - echo "$as_me:$LINENO: checking for library containing krb5_encrypt" >&5 -echo $ECHO_N "checking for library containing krb5_encrypt... $ECHO_C" >&6 -if test "${ac_cv_search_krb5_encrypt+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_func_search_save_LIBS=$LIBS -ac_cv_search_krb5_encrypt=no -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char krb5_encrypt (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -krb5_encrypt (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_krb5_encrypt="none required" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -if test "$ac_cv_search_krb5_encrypt" = no; then - for ac_lib in krb5 'krb5 -ldes -lasn1 -lroken' crypto k5crypto; do - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char krb5_encrypt (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -krb5_encrypt (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_krb5_encrypt="-l$ac_lib" -break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - done -fi -LIBS=$ac_func_search_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_search_krb5_encrypt" >&5 -echo "${ECHO_T}$ac_cv_search_krb5_encrypt" >&6 -if test "$ac_cv_search_krb5_encrypt" != no; then - test "$ac_cv_search_krb5_encrypt" = "none required" || LIBS="$ac_cv_search_krb5_encrypt $LIBS" - -else - { { echo "$as_me:$LINENO: error: could not find function 'krb5_encrypt' required for Kerberos 5" >&5 -echo "$as_me: error: could not find function 'krb5_encrypt' required for Kerberos 5" >&2;} - { (exit 1); exit 1; }; } -fi - - echo "$as_me:$LINENO: checking for library containing krb5_sendauth" >&5 -echo $ECHO_N "checking for library containing krb5_sendauth... $ECHO_C" >&6 -if test "${ac_cv_search_krb5_sendauth+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_func_search_save_LIBS=$LIBS -ac_cv_search_krb5_sendauth=no -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char krb5_sendauth (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -krb5_sendauth (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_krb5_sendauth="none required" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -if test "$ac_cv_search_krb5_sendauth" = no; then - for ac_lib in krb5 'krb5 -ldes -lasn1 -lroken'; do - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char krb5_sendauth (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -krb5_sendauth (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_krb5_sendauth="-l$ac_lib" -break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - done -fi -LIBS=$ac_func_search_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_search_krb5_sendauth" >&5 -echo "${ECHO_T}$ac_cv_search_krb5_sendauth" >&6 -if test "$ac_cv_search_krb5_sendauth" != no; then - test "$ac_cv_search_krb5_sendauth" = "none required" || LIBS="$ac_cv_search_krb5_sendauth $LIBS" - -else - { { echo "$as_me:$LINENO: error: could not find function 'krb5_sendauth' required for Kerberos 5" >&5 -echo "$as_me: error: could not find function 'krb5_sendauth' required for Kerberos 5" >&2;} - { (exit 1); exit 1; }; } -fi - -fi - -if test "$with_openssl" = yes ; then - -echo "$as_me:$LINENO: checking for CRYPTO_new_ex_data in -lcrypto" >&5 -echo $ECHO_N "checking for CRYPTO_new_ex_data in -lcrypto... $ECHO_C" >&6 -if test "${ac_cv_lib_crypto_CRYPTO_new_ex_data+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcrypto $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char CRYPTO_new_ex_data (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -CRYPTO_new_ex_data (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_crypto_CRYPTO_new_ex_data=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_crypto_CRYPTO_new_ex_data=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_crypto_CRYPTO_new_ex_data" >&5 -echo "${ECHO_T}$ac_cv_lib_crypto_CRYPTO_new_ex_data" >&6 -if test $ac_cv_lib_crypto_CRYPTO_new_ex_data = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBCRYPTO 1 -_ACEOF - - LIBS="-lcrypto $LIBS" - -else - { { echo "$as_me:$LINENO: error: library 'crypto' is required for OpenSSL" >&5 -echo "$as_me: error: library 'crypto' is required for OpenSSL" >&2;} - { (exit 1); exit 1; }; } -fi - - -echo "$as_me:$LINENO: checking for SSL_library_init in -lssl" >&5 -echo $ECHO_N "checking for SSL_library_init in -lssl... $ECHO_C" >&6 -if test "${ac_cv_lib_ssl_SSL_library_init+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lssl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char SSL_library_init (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -SSL_library_init (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_ssl_SSL_library_init=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_ssl_SSL_library_init=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_library_init" >&5 -echo "${ECHO_T}$ac_cv_lib_ssl_SSL_library_init" >&6 -if test $ac_cv_lib_ssl_SSL_library_init = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBSSL 1 -_ACEOF - - LIBS="-lssl $LIBS" - -else - { { echo "$as_me:$LINENO: error: library 'ssl' is required for OpenSSL" >&5 -echo "$as_me: error: library 'ssl' is required for OpenSSL" >&2;} - { (exit 1); exit 1; }; } -fi - -fi - -if test "$with_pam" = yes ; then - -echo "$as_me:$LINENO: checking for pam_start in -lpam" >&5 -echo $ECHO_N "checking for pam_start in -lpam... $ECHO_C" >&6 -if test "${ac_cv_lib_pam_pam_start+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpam $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char pam_start (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -pam_start (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_pam_pam_start=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_pam_pam_start=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_pam_pam_start" >&5 -echo "${ECHO_T}$ac_cv_lib_pam_pam_start" >&6 -if test $ac_cv_lib_pam_pam_start = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBPAM 1 -_ACEOF - - LIBS="-lpam $LIBS" - -else - { { echo "$as_me:$LINENO: error: library 'pam' is required for PAM" >&5 -echo "$as_me: error: library 'pam' is required for PAM" >&2;} - { (exit 1); exit 1; }; } -fi - -fi - - -## -## Header files -## -echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#include -#include -#include - -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_header_stdc=no -fi -rm -f conftest.err conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -fi -echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_Header=no" -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - - - - - - - - - - - - - - - - - -for ac_header in crypt.h dld.h endian.h fp_class.h getopt.h ieeefp.h pwd.h sys/ipc.h sys/pstat.h sys/select.h sys/sem.h sys/socket.h sys/shm.h sys/un.h termios.h kernel/OS.h kernel/image.h SupportDefs.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; - no:yes ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -# At least on IRIX, cpp test for netinet/tcp.h will fail unless -# netinet/in.h is included first. - -for ac_header in netinet/in.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; - no:yes ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_header in netinet/tcp.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#ifdef HAVE_NETINET_IN_H -#include -#endif - - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_Header=no" -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -if test "$with_readline" = yes; then - -for ac_header in readline/readline.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; - no:yes ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -else - -for ac_header in readline.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; - no:yes ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -else - { { echo "$as_me:$LINENO: error: readline header not found -Use --without-readline to disable readline support." >&5 -echo "$as_me: error: readline header not found -Use --without-readline to disable readline support." >&2;} - { (exit 1); exit 1; }; } -fi - -done - -fi - -done - - -for ac_header in readline/history.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; - no:yes ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -else - -for ac_header in history.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; - no:yes ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -else - { { echo "$as_me:$LINENO: error: history header not found -Use --without-readline to disable readline support." >&5 -echo "$as_me: error: history header not found -Use --without-readline to disable readline support." >&2;} - { (exit 1); exit 1; }; } -fi - -done - -fi - -done - -fi - -if test "$with_zlib" = yes; then - if test "${ac_cv_header_zlib_h+set}" = set; then - echo "$as_me:$LINENO: checking for zlib.h" >&5 -echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6 -if test "${ac_cv_header_zlib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 -echo "${ECHO_T}$ac_cv_header_zlib_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking zlib.h usability" >&5 -echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking zlib.h presence" >&5 -echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;};; - no:yes ) - { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;};; -esac -echo "$as_me:$LINENO: checking for zlib.h" >&5 -echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6 -if test "${ac_cv_header_zlib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_zlib_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 -echo "${ECHO_T}$ac_cv_header_zlib_h" >&6 - -fi -if test $ac_cv_header_zlib_h = yes; then - : -else - { { echo "$as_me:$LINENO: error: zlib header not found -Use --without-zlib to disable zlib support." >&5 -echo "$as_me: error: zlib header not found -Use --without-zlib to disable zlib support." >&2;} - { (exit 1); exit 1; }; } -fi - - -fi - -if test "$with_krb4" = yes ; then - if test "${ac_cv_header_krb_h+set}" = set; then - echo "$as_me:$LINENO: checking for krb.h" >&5 -echo $ECHO_N "checking for krb.h... $ECHO_C" >&6 -if test "${ac_cv_header_krb_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_krb_h" >&5 -echo "${ECHO_T}$ac_cv_header_krb_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking krb.h usability" >&5 -echo $ECHO_N "checking krb.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking krb.h presence" >&5 -echo $ECHO_N "checking krb.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: krb.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: krb.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: krb.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: krb.h: proceeding with the preprocessor's result" >&2;};; - no:yes ) - { echo "$as_me:$LINENO: WARNING: krb.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: krb.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: krb.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: krb.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: krb.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: krb.h: proceeding with the preprocessor's result" >&2;};; -esac -echo "$as_me:$LINENO: checking for krb.h" >&5 -echo $ECHO_N "checking for krb.h... $ECHO_C" >&6 -if test "${ac_cv_header_krb_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_krb_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_krb_h" >&5 -echo "${ECHO_T}$ac_cv_header_krb_h" >&6 - -fi -if test $ac_cv_header_krb_h = yes; then - : -else - { { echo "$as_me:$LINENO: error: header file is required for Kerberos 4" >&5 -echo "$as_me: error: header file is required for Kerberos 4" >&2;} - { (exit 1); exit 1; }; } -fi - - -fi - -if test "$with_krb5" = yes ; then - if test "${ac_cv_header_krb5_h+set}" = set; then - echo "$as_me:$LINENO: checking for krb5.h" >&5 -echo $ECHO_N "checking for krb5.h... $ECHO_C" >&6 -if test "${ac_cv_header_krb5_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_krb5_h" >&5 -echo "${ECHO_T}$ac_cv_header_krb5_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking krb5.h usability" >&5 -echo $ECHO_N "checking krb5.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking krb5.h presence" >&5 -echo $ECHO_N "checking krb5.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: krb5.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: krb5.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: krb5.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: krb5.h: proceeding with the preprocessor's result" >&2;};; - no:yes ) - { echo "$as_me:$LINENO: WARNING: krb5.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: krb5.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: krb5.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: krb5.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: krb5.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: krb5.h: proceeding with the preprocessor's result" >&2;};; -esac -echo "$as_me:$LINENO: checking for krb5.h" >&5 -echo $ECHO_N "checking for krb5.h... $ECHO_C" >&6 -if test "${ac_cv_header_krb5_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_krb5_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_krb5_h" >&5 -echo "${ECHO_T}$ac_cv_header_krb5_h" >&6 - -fi -if test $ac_cv_header_krb5_h = yes; then - : -else - { { echo "$as_me:$LINENO: error: header file is required for Kerberos 5" >&5 -echo "$as_me: error: header file is required for Kerberos 5" >&2;} - { (exit 1); exit 1; }; } -fi - - - if test "${ac_cv_header_com_err_h+set}" = set; then - echo "$as_me:$LINENO: checking for com_err.h" >&5 -echo $ECHO_N "checking for com_err.h... $ECHO_C" >&6 -if test "${ac_cv_header_com_err_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_com_err_h" >&5 -echo "${ECHO_T}$ac_cv_header_com_err_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking com_err.h usability" >&5 -echo $ECHO_N "checking com_err.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking com_err.h presence" >&5 -echo $ECHO_N "checking com_err.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: com_err.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: com_err.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: com_err.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: com_err.h: proceeding with the preprocessor's result" >&2;};; - no:yes ) - { echo "$as_me:$LINENO: WARNING: com_err.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: com_err.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: com_err.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: com_err.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: com_err.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: com_err.h: proceeding with the preprocessor's result" >&2;};; -esac -echo "$as_me:$LINENO: checking for com_err.h" >&5 -echo $ECHO_N "checking for com_err.h... $ECHO_C" >&6 -if test "${ac_cv_header_com_err_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_com_err_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_com_err_h" >&5 -echo "${ECHO_T}$ac_cv_header_com_err_h" >&6 - -fi -if test $ac_cv_header_com_err_h = yes; then - : -else - { { echo "$as_me:$LINENO: error: header file is required for Kerberos 5" >&5 -echo "$as_me: error: header file is required for Kerberos 5" >&2;} - { (exit 1); exit 1; }; } -fi - - -fi - -if test "$with_openssl" = yes ; then - if test "${ac_cv_header_openssl_ssl_h+set}" = set; then - echo "$as_me:$LINENO: checking for openssl/ssl.h" >&5 -echo $ECHO_N "checking for openssl/ssl.h... $ECHO_C" >&6 -if test "${ac_cv_header_openssl_ssl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_openssl_ssl_h" >&5 -echo "${ECHO_T}$ac_cv_header_openssl_ssl_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking openssl/ssl.h usability" >&5 -echo $ECHO_N "checking openssl/ssl.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking openssl/ssl.h presence" >&5 -echo $ECHO_N "checking openssl/ssl.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: openssl/ssl.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: openssl/ssl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: openssl/ssl.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: openssl/ssl.h: proceeding with the preprocessor's result" >&2;};; - no:yes ) - { echo "$as_me:$LINENO: WARNING: openssl/ssl.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: openssl/ssl.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: openssl/ssl.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: openssl/ssl.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: openssl/ssl.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: openssl/ssl.h: proceeding with the preprocessor's result" >&2;};; -esac -echo "$as_me:$LINENO: checking for openssl/ssl.h" >&5 -echo $ECHO_N "checking for openssl/ssl.h... $ECHO_C" >&6 -if test "${ac_cv_header_openssl_ssl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_openssl_ssl_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_openssl_ssl_h" >&5 -echo "${ECHO_T}$ac_cv_header_openssl_ssl_h" >&6 - -fi -if test $ac_cv_header_openssl_ssl_h = yes; then - : -else - { { echo "$as_me:$LINENO: error: header file is required for OpenSSL" >&5 -echo "$as_me: error: header file is required for OpenSSL" >&2;} - { (exit 1); exit 1; }; } -fi - - - if test "${ac_cv_header_openssl_err_h+set}" = set; then - echo "$as_me:$LINENO: checking for openssl/err.h" >&5 -echo $ECHO_N "checking for openssl/err.h... $ECHO_C" >&6 -if test "${ac_cv_header_openssl_err_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_openssl_err_h" >&5 -echo "${ECHO_T}$ac_cv_header_openssl_err_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking openssl/err.h usability" >&5 -echo $ECHO_N "checking openssl/err.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking openssl/err.h presence" >&5 -echo $ECHO_N "checking openssl/err.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: openssl/err.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: openssl/err.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: openssl/err.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: openssl/err.h: proceeding with the preprocessor's result" >&2;};; - no:yes ) - { echo "$as_me:$LINENO: WARNING: openssl/err.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: openssl/err.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: openssl/err.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: openssl/err.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: openssl/err.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: openssl/err.h: proceeding with the preprocessor's result" >&2;};; -esac -echo "$as_me:$LINENO: checking for openssl/err.h" >&5 -echo $ECHO_N "checking for openssl/err.h... $ECHO_C" >&6 -if test "${ac_cv_header_openssl_err_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_openssl_err_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_openssl_err_h" >&5 -echo "${ECHO_T}$ac_cv_header_openssl_err_h" >&6 - -fi -if test $ac_cv_header_openssl_err_h = yes; then - : -else - { { echo "$as_me:$LINENO: error: header file is required for OpenSSL" >&5 -echo "$as_me: error: header file is required for OpenSSL" >&2;} - { (exit 1); exit 1; }; } -fi - - -fi - -if test "$with_pam" = yes ; then - if test "${ac_cv_header_security_pam_appl_h+set}" = set; then - echo "$as_me:$LINENO: checking for security/pam_appl.h" >&5 -echo $ECHO_N "checking for security/pam_appl.h... $ECHO_C" >&6 -if test "${ac_cv_header_security_pam_appl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_security_pam_appl_h" >&5 -echo "${ECHO_T}$ac_cv_header_security_pam_appl_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking security/pam_appl.h usability" >&5 -echo $ECHO_N "checking security/pam_appl.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking security/pam_appl.h presence" >&5 -echo $ECHO_N "checking security/pam_appl.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: security/pam_appl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: security/pam_appl.h: proceeding with the preprocessor's result" >&2;};; - no:yes ) - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: security/pam_appl.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: security/pam_appl.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: security/pam_appl.h: proceeding with the preprocessor's result" >&2;};; -esac -echo "$as_me:$LINENO: checking for security/pam_appl.h" >&5 -echo $ECHO_N "checking for security/pam_appl.h... $ECHO_C" >&6 -if test "${ac_cv_header_security_pam_appl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_security_pam_appl_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_security_pam_appl_h" >&5 -echo "${ECHO_T}$ac_cv_header_security_pam_appl_h" >&6 - -fi -if test $ac_cv_header_security_pam_appl_h = yes; then - : -else - { { echo "$as_me:$LINENO: error: header file is required for PAM" >&5 -echo "$as_me: error: header file is required for PAM" >&2;} - { (exit 1); exit 1; }; } -fi - - -fi - - -## -## Types, structures, compiler characteristics -## - -echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 -echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 -if test "${ac_cv_c_const+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -/* FIXME: Include the comments suggested by Paul. */ -#ifndef __cplusplus - /* Ultrix mips cc rejects this. */ - typedef int charset[2]; - const charset x; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *ccp; - char **p; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - ccp = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++ccp; - p = (char**) ccp; - ccp = (char const *const *) p; - { /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - } -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_c_const=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_c_const=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 -echo "${ECHO_T}$ac_cv_c_const" >&6 -if test $ac_cv_c_const = no; then - -cat >>confdefs.h <<\_ACEOF -#define const -_ACEOF - -fi - -echo "$as_me:$LINENO: checking for inline" >&5 -echo $ECHO_N "checking for inline... $ECHO_C" >&6 -if test "${ac_cv_c_inline+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#ifndef __cplusplus -static $ac_kw int static_foo () {return 0; } -$ac_kw int foo () {return 0; } -#endif - -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_c_inline=$ac_kw; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done - -fi -echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 -echo "${ECHO_T}$ac_cv_c_inline" >&6 -case $ac_cv_c_inline in - inline | yes) ;; - no) -cat >>confdefs.h <<\_ACEOF -#define inline -_ACEOF - ;; - *) cat >>confdefs.h <<_ACEOF -#define inline $ac_cv_c_inline -_ACEOF - ;; -esac - -echo "$as_me:$LINENO: checking for preprocessor stringizing operator" >&5 -echo $ECHO_N "checking for preprocessor stringizing operator... $ECHO_C" >&6 -if test "${ac_cv_c_stringize+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#define x(y) #y - -char *s = x(teststring); -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "#teststring" >/dev/null 2>&1; then - ac_cv_c_stringize=no -else - ac_cv_c_stringize=yes -fi -rm -f conftest* - -fi -echo "$as_me:$LINENO: result: $ac_cv_c_stringize" >&5 -echo "${ECHO_T}$ac_cv_c_stringize" >&6 -if test $ac_cv_c_stringize = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_STRINGIZE 1 -_ACEOF - -fi - -echo "$as_me:$LINENO: checking for signed types" >&5 -echo $ECHO_N "checking for signed types... $ECHO_C" >&6 -if test "${pgac_cv_c_signed+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -signed char c; signed short s; signed int i; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - pgac_cv_c_signed=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -pgac_cv_c_signed=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $pgac_cv_c_signed" >&5 -echo "${ECHO_T}$pgac_cv_c_signed" >&6 -if test x"$pgac_cv_c_signed" = xno ; then - -cat >>confdefs.h <<\_ACEOF -#define signed -_ACEOF - -fi -echo "$as_me:$LINENO: checking for working volatile" >&5 -echo $ECHO_N "checking for working volatile... $ECHO_C" >&6 -if test "${ac_cv_c_volatile+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ - -volatile int x; -int * volatile y; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_c_volatile=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_c_volatile=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_c_volatile" >&5 -echo "${ECHO_T}$ac_cv_c_volatile" >&6 -if test $ac_cv_c_volatile = no; then - -cat >>confdefs.h <<\_ACEOF -#define volatile -_ACEOF - -fi - -echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5 -echo $ECHO_N "checking whether struct tm is in sys/time.h or time.h... $ECHO_C" >&6 -if test "${ac_cv_struct_tm+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#include - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -struct tm *tp; tp->tm_sec; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_struct_tm=time.h -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_struct_tm=sys/time.h -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5 -echo "${ECHO_T}$ac_cv_struct_tm" >&6 -if test $ac_cv_struct_tm = sys/time.h; then - -cat >>confdefs.h <<\_ACEOF -#define TM_IN_SYS_TIME 1 -_ACEOF - -fi - -echo "$as_me:$LINENO: checking for struct tm.tm_zone" >&5 -echo $ECHO_N "checking for struct tm.tm_zone... $ECHO_C" >&6 -if test "${ac_cv_member_struct_tm_tm_zone+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#include <$ac_cv_struct_tm> - - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static struct tm ac_aggr; -if (ac_aggr.tm_zone) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_member_struct_tm_tm_zone=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_member_struct_tm_tm_zone=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_zone" >&5 -echo "${ECHO_T}$ac_cv_member_struct_tm_tm_zone" >&6 -if test $ac_cv_member_struct_tm_tm_zone = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_TM_TM_ZONE 1 -_ACEOF - - -fi - -if test "$ac_cv_member_struct_tm_tm_zone" = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_TM_ZONE 1 -_ACEOF - -else - echo "$as_me:$LINENO: checking for tzname" >&5 -echo $ECHO_N "checking for tzname... $ECHO_C" >&6 -if test "${ac_cv_var_tzname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#ifndef tzname /* For SGI. */ -extern char *tzname[]; /* RS6000 and others reject char **tzname. */ -#endif - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -atoi(*tzname); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_var_tzname=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_var_tzname=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_var_tzname" >&5 -echo "${ECHO_T}$ac_cv_var_tzname" >&6 - if test $ac_cv_var_tzname = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_TZNAME 1 -_ACEOF - - fi -fi - -echo "$as_me:$LINENO: checking for union semun" >&5 -echo $ECHO_N "checking for union semun... $ECHO_C" >&6 -if test "${ac_cv_type_union_semun+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#include -#include - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -if ((union semun *) 0) - return 0; -if (sizeof (union semun)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_union_semun=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_union_semun=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_union_semun" >&5 -echo "${ECHO_T}$ac_cv_type_union_semun" >&6 -if test $ac_cv_type_union_semun = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_SEMUN 1 -_ACEOF - - -fi - -echo "$as_me:$LINENO: checking for struct sockaddr_un" >&5 -echo $ECHO_N "checking for struct sockaddr_un... $ECHO_C" >&6 -if test "${ac_cv_type_struct_sockaddr_un+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#ifdef HAVE_SYS_UN_H -#include -#endif - - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -if ((struct sockaddr_un *) 0) - return 0; -if (sizeof (struct sockaddr_un)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_struct_sockaddr_un=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_struct_sockaddr_un=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_struct_sockaddr_un" >&5 -echo "${ECHO_T}$ac_cv_type_struct_sockaddr_un" >&6 -if test $ac_cv_type_struct_sockaddr_un = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_SOCKADDR_UN 1 -_ACEOF - - -fi - - -echo "$as_me:$LINENO: checking for struct cmsgcred" >&5 -echo $ECHO_N "checking for struct cmsgcred... $ECHO_C" >&6 -if test "${ac_cv_type_struct_cmsgcred+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#include -#include - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -if ((struct cmsgcred *) 0) - return 0; -if (sizeof (struct cmsgcred)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_struct_cmsgcred=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_struct_cmsgcred=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_struct_cmsgcred" >&5 -echo "${ECHO_T}$ac_cv_type_struct_cmsgcred" >&6 -if test $ac_cv_type_struct_cmsgcred = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_CMSGCRED 1 -_ACEOF - - -fi -echo "$as_me:$LINENO: checking for struct fcred" >&5 -echo $ECHO_N "checking for struct fcred... $ECHO_C" >&6 -if test "${ac_cv_type_struct_fcred+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#include -#include - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -if ((struct fcred *) 0) - return 0; -if (sizeof (struct fcred)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_struct_fcred=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_struct_fcred=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_struct_fcred" >&5 -echo "${ECHO_T}$ac_cv_type_struct_fcred" >&6 -if test $ac_cv_type_struct_fcred = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_FCRED 1 -_ACEOF - - -fi -echo "$as_me:$LINENO: checking for struct sockcred" >&5 -echo $ECHO_N "checking for struct sockcred... $ECHO_C" >&6 -if test "${ac_cv_type_struct_sockcred+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#include -#include - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -if ((struct sockcred *) 0) - return 0; -if (sizeof (struct sockcred)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_struct_sockcred=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_struct_sockcred=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_struct_sockcred" >&5 -echo "${ECHO_T}$ac_cv_type_struct_sockcred" >&6 -if test $ac_cv_type_struct_sockcred = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_SOCKCRED 1 -_ACEOF - - -fi - - -if test "$with_zlib" = yes; then - # Check that defines z_streamp (versions before about 1.0.4 - # did not). While we could work around the lack of z_streamp, it - # seems unwise to encourage people to use such old zlib versions... - echo "$as_me:$LINENO: checking for z_streamp" >&5 -echo $ECHO_N "checking for z_streamp... $ECHO_C" >&6 -if test "${ac_cv_type_z_streamp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -if ((z_streamp *) 0) - return 0; -if (sizeof (z_streamp)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_z_streamp=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_z_streamp=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_z_streamp" >&5 -echo "${ECHO_T}$ac_cv_type_z_streamp" >&6 -if test $ac_cv_type_z_streamp = yes; then - : -else - { { echo "$as_me:$LINENO: error: zlib version is too old -Use --without-zlib to disable zlib support." >&5 -echo "$as_me: error: zlib version is too old -Use --without-zlib to disable zlib support." >&2;} - { (exit 1); exit 1; }; } -fi - -fi - -if test "$with_krb5" = yes; then -# Check for differences between MIT and Heimdal (KTH) releases - echo "$as_me:$LINENO: checking for krb5_ticket.enc_part2" >&5 -echo $ECHO_N "checking for krb5_ticket.enc_part2... $ECHO_C" >&6 -if test "${ac_cv_member_krb5_ticket_enc_part2+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static krb5_ticket ac_aggr; -if (ac_aggr.enc_part2) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_member_krb5_ticket_enc_part2=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_member_krb5_ticket_enc_part2=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_member_krb5_ticket_enc_part2" >&5 -echo "${ECHO_T}$ac_cv_member_krb5_ticket_enc_part2" >&6 -if test $ac_cv_member_krb5_ticket_enc_part2 = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_KRB5_TICKET_ENC_PART2 1 -_ACEOF - - -else - echo "$as_me:$LINENO: checking for krb5_ticket.client" >&5 -echo $ECHO_N "checking for krb5_ticket.client... $ECHO_C" >&6 -if test "${ac_cv_member_krb5_ticket_client+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static krb5_ticket ac_aggr; -if (ac_aggr.client) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_member_krb5_ticket_client=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_member_krb5_ticket_client=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_member_krb5_ticket_client" >&5 -echo "${ECHO_T}$ac_cv_member_krb5_ticket_client" >&6 -if test $ac_cv_member_krb5_ticket_client = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_KRB5_TICKET_CLIENT 1 -_ACEOF - - -else - { { echo "$as_me:$LINENO: error: could not determine how to get client name from Kerberos 5 ticket" >&5 -echo "$as_me: error: could not determine how to get client name from Kerberos 5 ticket" >&2;} - { (exit 1); exit 1; }; } -fi - -fi - - echo "$as_me:$LINENO: checking for krb5_error.text.data" >&5 -echo $ECHO_N "checking for krb5_error.text.data... $ECHO_C" >&6 -if test "${ac_cv_member_krb5_error_text_data+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static krb5_error ac_aggr; -if (ac_aggr.text.data) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_member_krb5_error_text_data=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_member_krb5_error_text_data=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_member_krb5_error_text_data" >&5 -echo "${ECHO_T}$ac_cv_member_krb5_error_text_data" >&6 -if test $ac_cv_member_krb5_error_text_data = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_KRB5_ERROR_TEXT_DATA 1 -_ACEOF - - -else - echo "$as_me:$LINENO: checking for krb5_error.e_data" >&5 -echo $ECHO_N "checking for krb5_error.e_data... $ECHO_C" >&6 -if test "${ac_cv_member_krb5_error_e_data+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static krb5_error ac_aggr; -if (ac_aggr.e_data) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_member_krb5_error_e_data=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_member_krb5_error_e_data=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_member_krb5_error_e_data" >&5 -echo "${ECHO_T}$ac_cv_member_krb5_error_e_data" >&6 -if test $ac_cv_member_krb5_error_e_data = yes; then - : -else - { { echo "$as_me:$LINENO: error: could not determine how to extract Kerberos 5 error messages" >&5 -echo "$as_me: error: could not determine how to extract Kerberos 5 error messages" >&2;} - { (exit 1); exit 1; }; } -fi - -fi - -fi - - -## -## Functions, global variables -## -echo "$as_me:$LINENO: checking for int timezone" >&5 -echo $ECHO_N "checking for int timezone... $ECHO_C" >&6 -if test "${pgac_cv_var_int_timezone+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -int res; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -res = timezone / 60; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - pgac_cv_var_int_timezone=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -pgac_cv_var_int_timezone=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $pgac_cv_var_int_timezone" >&5 -echo "${ECHO_T}$pgac_cv_var_int_timezone" >&6 -if test x"$pgac_cv_var_int_timezone" = xyes ; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_INT_TIMEZONE -_ACEOF - -fi -echo "$as_me:$LINENO: checking types of arguments for accept()" >&5 -echo $ECHO_N "checking types of arguments for accept()... $ECHO_C" >&6 - if test "${ac_cv_func_accept_arg1+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "${ac_cv_func_accept_arg2+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "${ac_cv_func_accept_arg3+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - for ac_cv_func_accept_arg1 in 'int' 'unsigned int'; do - for ac_cv_func_accept_arg2 in 'struct sockaddr *' 'const struct sockaddr *' 'void *'; do - for ac_cv_func_accept_arg3 in 'int' 'size_t' 'socklen_t' 'unsigned int' 'void'; do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#ifdef HAVE_SYS_TYPES_H -#include -#endif -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -extern int accept ($ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_not_found=no; break 3 -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_not_found=yes -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done - done - done - if test "$ac_not_found" = yes; then - { { echo "$as_me:$LINENO: error: could not determine argument types" >&5 -echo "$as_me: error: could not determine argument types" >&2;} - { (exit 1); exit 1; }; } - fi - if test "$ac_cv_func_accept_arg3" = "void"; then - ac_cv_func_accept_arg3=int - fi - -fi - -fi - -fi - echo "$as_me:$LINENO: result: $ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *" >&5 -echo "${ECHO_T}$ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *" >&6 - -cat >>confdefs.h <<_ACEOF -#define ACCEPT_TYPE_ARG1 $ac_cv_func_accept_arg1 -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define ACCEPT_TYPE_ARG2 $ac_cv_func_accept_arg2 -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define ACCEPT_TYPE_ARG3 $ac_cv_func_accept_arg3 -_ACEOF - - -echo "$as_me:$LINENO: checking whether gettimeofday takes only one argument" >&5 -echo $ECHO_N "checking whether gettimeofday takes only one argument... $ECHO_C" >&6 -if test "${pgac_cv_func_gettimeofday_1arg+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -struct timeval *tp; -struct timezone *tzp; -gettimeofday(tp,tzp); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - pgac_cv_func_gettimeofday_1arg=no -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -pgac_cv_func_gettimeofday_1arg=yes -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $pgac_cv_func_gettimeofday_1arg" >&5 -echo "${ECHO_T}$pgac_cv_func_gettimeofday_1arg" >&6 -if test x"$pgac_cv_func_gettimeofday_1arg" = xyes ; then - -cat >>confdefs.h <<\_ACEOF -#define GETTIMEOFDAY_1ARG -_ACEOF - -fi - -# SunOS doesn't handle negative byte comparisons properly with +/- return -echo "$as_me:$LINENO: checking for 8-bit clean memcmp" >&5 -echo $ECHO_N "checking for 8-bit clean memcmp... $ECHO_C" >&6 -if test "${pgac_cv_func_memcmp_clean+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - pgac_cv_func_memcmp_clean=no -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -main() -{ - char c0 = 0x40, c1 = 0x80, c2 = 0x81; - exit(memcmp(&c0, &c2, 1) < 0 && memcmp(&c1, &c2, 1) < 0 ? 0 : 1); -} - -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - pgac_cv_func_memcmp_clean=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -( exit $ac_status ) -pgac_cv_func_memcmp_clean=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -echo "$as_me:$LINENO: result: $pgac_cv_func_memcmp_clean" >&5 -echo "${ECHO_T}$pgac_cv_func_memcmp_clean" >&6 -if test $pgac_cv_func_memcmp_clean = no ; then - MEMCMP=memcmp.o -else - MEMCMP= -fi - - - - - - - - - - - - - - -for ac_func in cbrt fcvt getopt_long memmove pstat setproctitle setsid sigprocmask sysconf waitpid dlopen fdatasync -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - -echo "$as_me:$LINENO: checking whether fdatasync is declared" >&5 -echo $ECHO_N "checking whether fdatasync is declared... $ECHO_C" >&6 -if test "${ac_cv_have_decl_fdatasync+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -#ifndef fdatasync - char *p = (char *) fdatasync; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_have_decl_fdatasync=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_have_decl_fdatasync=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_have_decl_fdatasync" >&5 -echo "${ECHO_T}$ac_cv_have_decl_fdatasync" >&6 -if test $ac_cv_have_decl_fdatasync = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FDATASYNC 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FDATASYNC 0 -_ACEOF - - -fi - - - -echo "$as_me:$LINENO: checking for PS_STRINGS" >&5 -echo $ECHO_N "checking for PS_STRINGS... $ECHO_C" >&6 -if test "${pgac_cv_var_PS_STRINGS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#include - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -PS_STRINGS->ps_nargvstr = 1; -PS_STRINGS->ps_argvstr = "foo"; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - pgac_cv_var_PS_STRINGS=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -pgac_cv_var_PS_STRINGS=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $pgac_cv_var_PS_STRINGS" >&5 -echo "${ECHO_T}$pgac_cv_var_PS_STRINGS" >&6 -if test "$pgac_cv_var_PS_STRINGS" = yes ; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_PS_STRINGS -_ACEOF - -fi - - -# We use our snprintf.c emulation if either snprintf() or vsnprintf() -# is missing. Yes, there are machines that have only one. We may -# also decide to use snprintf.c if snprintf() is present but does not -# have working "long long int" support -- see below. - -SNPRINTF='' - -for ac_func in snprintf -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - SNPRINTF='snprintf.o' -fi -done - - -for ac_func in vsnprintf -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - SNPRINTF='snprintf.o' -fi -done - - - - -# Check whether declares snprintf() and vsnprintf(); if not, -# include/c.h will provide declarations. Note this is a separate test -# from whether the functions exist in the C library --- there are -# systems that have the functions but don't bother to declare them :-( - -echo "$as_me:$LINENO: checking whether snprintf is declared" >&5 -echo $ECHO_N "checking whether snprintf is declared... $ECHO_C" >&6 -if test "${ac_cv_have_decl_snprintf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -#ifndef snprintf - char *p = (char *) snprintf; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_have_decl_snprintf=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_have_decl_snprintf=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_have_decl_snprintf" >&5 -echo "${ECHO_T}$ac_cv_have_decl_snprintf" >&6 -if test $ac_cv_have_decl_snprintf = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_SNPRINTF 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_SNPRINTF 0 -_ACEOF - - -fi -echo "$as_me:$LINENO: checking whether vsnprintf is declared" >&5 -echo $ECHO_N "checking whether vsnprintf is declared... $ECHO_C" >&6 -if test "${ac_cv_have_decl_vsnprintf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -#ifndef vsnprintf - char *p = (char *) vsnprintf; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_have_decl_vsnprintf=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_have_decl_vsnprintf=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_have_decl_vsnprintf" >&5 -echo "${ECHO_T}$ac_cv_have_decl_vsnprintf" >&6 -if test $ac_cv_have_decl_vsnprintf = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_VSNPRINTF 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_VSNPRINTF 0 -_ACEOF - - -fi - - - - -# do this one the hard way in case isinf() is a macro -echo "$as_me:$LINENO: checking for isinf" >&5 -echo $ECHO_N "checking for isinf... $ECHO_C" >&6 -if test "${ac_cv_func_isinf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -double x = 0.0; int res = isinf(x); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_isinf=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_isinf=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_func_isinf" >&5 -echo "${ECHO_T}$ac_cv_func_isinf" >&6 - -if test $ac_cv_func_isinf = yes ; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_ISINF 1 -_ACEOF - - ISINF= -else - ISINF='isinf.o' - # Look for a way to implement a substitute for isinf() - - - - -for ac_func in fpclass fp_class fp_class_d class -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - break -fi -done - -fi - - - - -for ac_func in getrusage -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - GETRUSAGE='getrusage.o' -fi -done - - - -for ac_func in srandom -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - SRANDOM='srandom.o' -fi -done - - - -for ac_func in gethostname -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - GETHOSTNAME='gethostname.o' -fi -done - - - -for ac_func in random -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - MISSING_RANDOM='random.o' -fi -done - - - -for ac_func in inet_aton -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - INET_ATON='inet_aton.o' -fi -done - - - -for ac_func in strerror -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - STRERROR='strerror.o' -fi -done - - - -for ac_func in strdup -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - STRDUP='../../utils/strdup.o' -fi -done - - - -for ac_func in strtol -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - STRTOL='strtol.o' -fi -done - - - -for ac_func in strtoul -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - STRTOUL='strtoul.o' -fi -done - - - -for ac_func in strcasecmp -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - STRCASECMP='strcasecmp.o' -fi -done - - - -# On HPUX 9, rint() is not in regular libm.a but in /lib/pa1.1/libm.a; -# this hackery with HPUXMATHLIB allows us to cope. -HPUXMATHLIB="" -case $host_cpu in - hppa1.1) - if [ -r /lib/pa1.1/libm.a ] ; then - HPUXMATHLIB="-L /lib/pa1.1 -lm" - fi ;; -esac - - - -for ac_func in rint -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - echo "$as_me:$LINENO: checking for rint in -lm" >&5 -echo $ECHO_N "checking for rint in -lm... $ECHO_C" >&6 -if test "${ac_cv_lib_m_rint+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lm $HPUXMATHLIB $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char rint (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -rint (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_m_rint=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_m_rint=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_m_rint" >&5 -echo "${ECHO_T}$ac_cv_lib_m_rint" >&6 -if test $ac_cv_lib_m_rint = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_RINT 1 -_ACEOF - -fi - -fi -done - - - -if test "$with_readline" = yes; then - echo "$as_me:$LINENO: checking for rl_completion_append_character" >&5 -echo $ECHO_N "checking for rl_completion_append_character... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#ifdef HAVE_READLINE_READLINE_H -# include -#elif defined(HAVE_READLINE_H) -# include -#endif - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -rl_completion_append_character = 'x'; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - -cat >>confdefs.h <<\_ACEOF -#define HAVE_RL_COMPLETION_APPEND_CHARACTER 1 -_ACEOF - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - - -for ac_func in rl_completion_matches rl_filename_completion_function -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -fi - - -echo "$as_me:$LINENO: checking for finite" >&5 -echo $ECHO_N "checking for finite... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -int dummy=finite(1.0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_FINITE 1 -_ACEOF - -echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - -echo "$as_me:$LINENO: checking for sigsetjmp" >&5 -echo $ECHO_N "checking for sigsetjmp... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -sigjmp_buf x; sigsetjmp(x, 1); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_SIGSETJMP 1 -_ACEOF - -echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - -echo "$as_me:$LINENO: checking for syslog" >&5 -echo $ECHO_N "checking for syslog... $ECHO_C" >&6 -if test "${ac_cv_func_syslog+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char syslog (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char syslog (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_syslog) || defined (__stub___syslog) -choke me -#else -f = syslog; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_syslog=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_syslog=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_func_syslog" >&5 -echo "${ECHO_T}$ac_cv_func_syslog" >&6 -if test $ac_cv_func_syslog = yes; then - if test "${ac_cv_header_syslog_h+set}" = set; then - echo "$as_me:$LINENO: checking for syslog.h" >&5 -echo $ECHO_N "checking for syslog.h... $ECHO_C" >&6 -if test "${ac_cv_header_syslog_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_syslog_h" >&5 -echo "${ECHO_T}$ac_cv_header_syslog_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking syslog.h usability" >&5 -echo $ECHO_N "checking syslog.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking syslog.h presence" >&5 -echo $ECHO_N "checking syslog.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: syslog.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: syslog.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: syslog.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: syslog.h: proceeding with the preprocessor's result" >&2;};; - no:yes ) - { echo "$as_me:$LINENO: WARNING: syslog.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: syslog.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: syslog.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: syslog.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: syslog.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: syslog.h: proceeding with the preprocessor's result" >&2;};; -esac -echo "$as_me:$LINENO: checking for syslog.h" >&5 -echo $ECHO_N "checking for syslog.h... $ECHO_C" >&6 -if test "${ac_cv_header_syslog_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_syslog_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_syslog_h" >&5 -echo "${ECHO_T}$ac_cv_header_syslog_h" >&6 - -fi -if test $ac_cv_header_syslog_h = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_SYSLOG 1 -_ACEOF - -fi - - -fi - - -echo "$as_me:$LINENO: checking for optreset" >&5 -echo $ECHO_N "checking for optreset... $ECHO_C" >&6 -if test "${pgac_cv_var_int_optreset+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -extern int optreset; optreset = 1; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - pgac_cv_var_int_optreset=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -pgac_cv_var_int_optreset=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $pgac_cv_var_int_optreset" >&5 -echo "${ECHO_T}$pgac_cv_var_int_optreset" >&6 -if test x"$pgac_cv_var_int_optreset" = x"yes"; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_INT_OPTRESET 1 -_ACEOF - -fi - - -# This test makes sure that run tests work at all. Sometimes a shared -# library is found by the linker, but the runtime linker can't find it. -# This check should come after all modifications of compiler or linker -# variables, and before any other run tests. -echo "$as_me:$LINENO: checking test program" >&5 -echo $ECHO_N "checking test program... $ECHO_C" >&6 -if test "$cross_compiling" = yes; then - echo "$as_me:$LINENO: result: cross-compiling" >&5 -echo "${ECHO_T}cross-compiling" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -int main() { return 0; } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6 -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -( exit $ac_status ) -echo "$as_me:$LINENO: result: failed" >&5 -echo "${ECHO_T}failed" >&6 -{ { echo "$as_me:$LINENO: error: -*** Could not execute a simple test program. This may be a problem -*** related to locating shared libraries. Check the file 'config.log' -*** for the exact reason." >&5 -echo "$as_me: error: -*** Could not execute a simple test program. This may be a problem -*** related to locating shared libraries. Check the file 'config.log' -*** for the exact reason." >&2;} - { (exit 1); exit 1; }; } -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - -echo "$as_me:$LINENO: checking whether long int is 64 bits" >&5 -echo $ECHO_N "checking whether long int is 64 bits... $ECHO_C" >&6 -if test "${pgac_cv_type_long_int_64+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - pgac_cv_type_long_int_64=no -{ echo "$as_me:$LINENO: WARNING: 64 bit arithmetic disabled when cross-compiling" >&5 -echo "$as_me: WARNING: 64 bit arithmetic disabled when cross-compiling" >&2;} -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -typedef long int int64; - -/* - * These are globals to discourage the compiler from folding all the - * arithmetic tests down to compile-time constants. - */ -int64 a = 20000001; -int64 b = 40000005; - -int does_int64_work() -{ - int64 c,d; - - if (sizeof(int64) != 8) - return 0; /* definitely not the right size */ - - /* Do perfunctory checks to see if 64-bit arithmetic seems to work */ - c = a * b; - d = (c + b) / b; - if (d != a+1) - return 0; - return 1; -} -main() { - exit(! does_int64_work()); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - pgac_cv_type_long_int_64=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -( exit $ac_status ) -pgac_cv_type_long_int_64=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -echo "$as_me:$LINENO: result: $pgac_cv_type_long_int_64" >&5 -echo "${ECHO_T}$pgac_cv_type_long_int_64" >&6 - -HAVE_LONG_INT_64=$pgac_cv_type_long_int_64 -if test x"$pgac_cv_type_long_int_64" = xyes ; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_LONG_INT_64 -_ACEOF - -fi - - -if test x"$HAVE_LONG_INT_64" = x"no" ; then - echo "$as_me:$LINENO: checking whether long long int is 64 bits" >&5 -echo $ECHO_N "checking whether long long int is 64 bits... $ECHO_C" >&6 -if test "${pgac_cv_type_long_long_int_64+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - pgac_cv_type_long_long_int_64=no -{ echo "$as_me:$LINENO: WARNING: 64 bit arithmetic disabled when cross-compiling" >&5 -echo "$as_me: WARNING: 64 bit arithmetic disabled when cross-compiling" >&2;} -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -typedef long long int int64; - -/* - * These are globals to discourage the compiler from folding all the - * arithmetic tests down to compile-time constants. - */ -int64 a = 20000001; -int64 b = 40000005; - -int does_int64_work() -{ - int64 c,d; - - if (sizeof(int64) != 8) - return 0; /* definitely not the right size */ - - /* Do perfunctory checks to see if 64-bit arithmetic seems to work */ - c = a * b; - d = (c + b) / b; - if (d != a+1) - return 0; - return 1; -} -main() { - exit(! does_int64_work()); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - pgac_cv_type_long_long_int_64=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -( exit $ac_status ) -pgac_cv_type_long_long_int_64=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -echo "$as_me:$LINENO: result: $pgac_cv_type_long_long_int_64" >&5 -echo "${ECHO_T}$pgac_cv_type_long_long_int_64" >&6 - -HAVE_LONG_LONG_INT_64=$pgac_cv_type_long_long_int_64 -if test x"$pgac_cv_type_long_long_int_64" = xyes ; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_LONG_LONG_INT_64 -_ACEOF - -fi - -fi - - - -if [ x"$HAVE_LONG_LONG_INT_64" = xyes ] ; then - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -#define INT64CONST(x) x##LL -long long int foo = INT64CONST(0x1234567890123456); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_LL_CONSTANTS 1 -_ACEOF - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi - - - -if [ x"$HAVE_LONG_LONG_INT_64" = xyes ] ; then - if [ x$SNPRINTF = x ] ; then - echo "$as_me:$LINENO: checking whether snprintf handles 'long long int' as %lld" >&5 -echo $ECHO_N "checking whether snprintf handles 'long long int' as %lld... $ECHO_C" >&6 - if test "$cross_compiling" = yes; then - echo "$as_me:$LINENO: result: assuming not on target machine" >&5 -echo "${ECHO_T}assuming not on target machine" >&6 - # Force usage of our own snprintf, since we cannot test foreign snprintf - SNPRINTF='snprintf.o' - INT64_FORMAT='"%lld"' - -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -typedef long long int int64; -#define INT64_FORMAT "%lld" - -int64 a = 20000001; -int64 b = 40000005; - -int does_int64_snprintf_work() -{ - int64 c; - char buf[100]; - - if (sizeof(int64) != 8) - return 0; /* doesn't look like the right size */ - - c = a * b; - snprintf(buf, 100, INT64_FORMAT, c); - if (strcmp(buf, "800000140000005") != 0) - return 0; /* either multiply or snprintf is busted */ - return 1; -} -main() { - exit(! does_int64_snprintf_work()); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - INT64_FORMAT='"%lld"' - -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -( exit $ac_status ) - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - echo "$as_me:$LINENO: checking whether snprintf handles 'long long int' as %qd" >&5 -echo $ECHO_N "checking whether snprintf handles 'long long int' as %qd... $ECHO_C" >&6 - if test "$cross_compiling" = yes; then - echo "$as_me:$LINENO: result: assuming not on target machine" >&5 -echo "${ECHO_T}assuming not on target machine" >&6 - # Force usage of our own snprintf, since we cannot test foreign snprintf - SNPRINTF='snprintf.o' - INT64_FORMAT='"%lld"' - -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -typedef long long int int64; -#define INT64_FORMAT "%qd" - -int64 a = 20000001; -int64 b = 40000005; - -int does_int64_snprintf_work() -{ - int64 c; - char buf[100]; - - if (sizeof(int64) != 8) - return 0; /* doesn't look like the right size */ - - c = a * b; - snprintf(buf, 100, INT64_FORMAT, c); - if (strcmp(buf, "800000140000005") != 0) - return 0; /* either multiply or snprintf is busted */ - return 1; -} -main() { - exit(! does_int64_snprintf_work()); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - INT64_FORMAT='"%qd"' - -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -( exit $ac_status ) - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - # Force usage of our own snprintf, since system snprintf is broken - SNPRINTF='snprintf.o' - INT64_FORMAT='"%lld"' - -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - else - # here if we previously decided we needed to use our own snprintf - INT64_FORMAT='"%lld"' - fi -else - # Here if we are not using 'long long int' at all - INT64_FORMAT='"%ld"' -fi - - -cat >>confdefs.h <<_ACEOF -#define INT64_FORMAT $INT64_FORMAT -_ACEOF - - - - - -for ac_func in strtoll strtoq -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - break -fi -done - - - -for ac_func in strtoull strtouq -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - break -fi -done - - -# Check for one of atexit() or on_exit() - -for ac_func in atexit -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - -for ac_func in on_exit -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -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_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - { { echo "$as_me:$LINENO: error: neither atexit() nor on_exit() found" >&5 -echo "$as_me: error: neither atexit() nor on_exit() found" >&2;} - { (exit 1); exit 1; }; } -fi -done - -fi -done - - - -echo "$as_me:$LINENO: checking for unsigned long" >&5 -echo $ECHO_N "checking for unsigned long... $ECHO_C" >&6 -if test "${ac_cv_type_unsigned_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -if ((unsigned long *) 0) - return 0; -if (sizeof (unsigned long)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_unsigned_long=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_unsigned_long=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long" >&5 -echo "${ECHO_T}$ac_cv_type_unsigned_long" >&6 - -echo "$as_me:$LINENO: checking size of unsigned long" >&5 -echo $ECHO_N "checking size of unsigned long... $ECHO_C" >&6 -if test "${ac_cv_sizeof_unsigned_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$ac_cv_type_unsigned_long" = yes; then - # The cast to unsigned long works around a bug in the HP C Compiler - # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects - # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. - # This bug is HP SR number 8606223364. - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !(((long) (sizeof (unsigned long))) >= 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !(((long) (sizeof (unsigned long))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !(((long) (sizeof (unsigned long))) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !(((long) (sizeof (unsigned long))) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo= ac_hi= -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !(((long) (sizeof (unsigned long))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo=`expr '(' $ac_mid ')' + 1` -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) ac_cv_sizeof_unsigned_long=$ac_lo;; -'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long), 77" >&5 -echo "$as_me: error: cannot compute sizeof (unsigned long), 77" >&2;} - { (exit 1); exit 1; }; } ;; -esac -else - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling" >&5 -echo "$as_me: error: cannot run test program while cross compiling" >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -long longval () { return (long) (sizeof (unsigned long)); } -unsigned long ulongval () { return (long) (sizeof (unsigned long)); } -#include -#include -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - exit (1); - if (((long) (sizeof (unsigned long))) < 0) - { - long i = longval (); - if (i != ((long) (sizeof (unsigned long)))) - exit (1); - fprintf (f, "%ld\n", i); - } - else - { - unsigned long i = ulongval (); - if (i != ((long) (sizeof (unsigned long)))) - exit (1); - fprintf (f, "%lu\n", i); - } - exit (ferror (f) || fclose (f) != 0); - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_unsigned_long=`cat conftest.val` -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long), 77" >&5 -echo "$as_me: error: cannot compute sizeof (unsigned long), 77" >&2;} - { (exit 1); exit 1; }; } -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -rm -f conftest.val -else - ac_cv_sizeof_unsigned_long=0 -fi -fi -echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_long" >&5 -echo "${ECHO_T}$ac_cv_sizeof_unsigned_long" >&6 -cat >>confdefs.h <<_ACEOF -#define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long -_ACEOF - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_DATUM $ac_cv_sizeof_unsigned_long -_ACEOF - - -# Determine memory alignment requirements for the basic C data types. - -echo "$as_me:$LINENO: checking for short" >&5 -echo $ECHO_N "checking for short... $ECHO_C" >&6 -if test "${ac_cv_type_short+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -if ((short *) 0) - return 0; -if (sizeof (short)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_short=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_short=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_short" >&5 -echo "${ECHO_T}$ac_cv_type_short" >&6 - -echo "$as_me:$LINENO: checking alignment of short" >&5 -echo $ECHO_N "checking alignment of short... $ECHO_C" >&6 -if test "${pgac_cv_alignof_short+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$ac_cv_type_short" = yes; then - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; short field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) >= 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; short field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; short field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; short field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo= ac_hi= -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; short field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo=`expr '(' $ac_mid ')' + 1` -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) pgac_cv_alignof_short=$ac_lo;; -'') { { echo "$as_me:$LINENO: error: cannot compute alignment of short, 77" >&5 -echo "$as_me: error: cannot compute alignment of short, 77" >&2;} - { (exit 1); exit 1; }; } ;; -esac -else - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling" >&5 -echo "$as_me: error: cannot run test program while cross compiling" >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; short field; } pgac_struct; -long longval () { return ((char*) & pgac_struct.field) - ((char*) & pgac_struct); } -unsigned long ulongval () { return ((char*) & pgac_struct.field) - ((char*) & pgac_struct); } -#include -#include -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - exit (1); - if ((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) < 0) - { - long i = longval (); - if (i != (((char*) & pgac_struct.field) - ((char*) & pgac_struct))) - exit (1); - fprintf (f, "%ld\n", i); - } - else - { - unsigned long i = ulongval (); - if (i != (((char*) & pgac_struct.field) - ((char*) & pgac_struct))) - exit (1); - fprintf (f, "%lu\n", i); - } - exit (ferror (f) || fclose (f) != 0); - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - pgac_cv_alignof_short=`cat conftest.val` -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: cannot compute alignment of short, 77" >&5 -echo "$as_me: error: cannot compute alignment of short, 77" >&2;} - { (exit 1); exit 1; }; } -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -rm -f conftest.val -else - pgac_cv_alignof_short=0 -fi -fi -echo "$as_me:$LINENO: result: $pgac_cv_alignof_short" >&5 -echo "${ECHO_T}$pgac_cv_alignof_short" >&6 -cat >>confdefs.h <<_ACEOF -#define ALIGNOF_SHORT $pgac_cv_alignof_short -_ACEOF - - -echo "$as_me:$LINENO: checking for int" >&5 -echo $ECHO_N "checking for int... $ECHO_C" >&6 -if test "${ac_cv_type_int+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -if ((int *) 0) - return 0; -if (sizeof (int)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_int=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_int=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5 -echo "${ECHO_T}$ac_cv_type_int" >&6 - -echo "$as_me:$LINENO: checking alignment of int" >&5 -echo $ECHO_N "checking alignment of int... $ECHO_C" >&6 -if test "${pgac_cv_alignof_int+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$ac_cv_type_int" = yes; then - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; int field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) >= 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; int field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; int field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; int field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo= ac_hi= -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; int field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo=`expr '(' $ac_mid ')' + 1` -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) pgac_cv_alignof_int=$ac_lo;; -'') { { echo "$as_me:$LINENO: error: cannot compute alignment of int, 77" >&5 -echo "$as_me: error: cannot compute alignment of int, 77" >&2;} - { (exit 1); exit 1; }; } ;; -esac -else - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling" >&5 -echo "$as_me: error: cannot run test program while cross compiling" >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; int field; } pgac_struct; -long longval () { return ((char*) & pgac_struct.field) - ((char*) & pgac_struct); } -unsigned long ulongval () { return ((char*) & pgac_struct.field) - ((char*) & pgac_struct); } -#include -#include -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - exit (1); - if ((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) < 0) - { - long i = longval (); - if (i != (((char*) & pgac_struct.field) - ((char*) & pgac_struct))) - exit (1); - fprintf (f, "%ld\n", i); - } - else - { - unsigned long i = ulongval (); - if (i != (((char*) & pgac_struct.field) - ((char*) & pgac_struct))) - exit (1); - fprintf (f, "%lu\n", i); - } - exit (ferror (f) || fclose (f) != 0); - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - pgac_cv_alignof_int=`cat conftest.val` -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: cannot compute alignment of int, 77" >&5 -echo "$as_me: error: cannot compute alignment of int, 77" >&2;} - { (exit 1); exit 1; }; } -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -rm -f conftest.val -else - pgac_cv_alignof_int=0 -fi -fi -echo "$as_me:$LINENO: result: $pgac_cv_alignof_int" >&5 -echo "${ECHO_T}$pgac_cv_alignof_int" >&6 -cat >>confdefs.h <<_ACEOF -#define ALIGNOF_INT $pgac_cv_alignof_int -_ACEOF - - -echo "$as_me:$LINENO: checking for long" >&5 -echo $ECHO_N "checking for long... $ECHO_C" >&6 -if test "${ac_cv_type_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -if ((long *) 0) - return 0; -if (sizeof (long)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_long=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_long=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5 -echo "${ECHO_T}$ac_cv_type_long" >&6 - -echo "$as_me:$LINENO: checking alignment of long" >&5 -echo $ECHO_N "checking alignment of long... $ECHO_C" >&6 -if test "${pgac_cv_alignof_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$ac_cv_type_long" = yes; then - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; long field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) >= 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; long field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; long field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; long field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo= ac_hi= -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; long field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo=`expr '(' $ac_mid ')' + 1` -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) pgac_cv_alignof_long=$ac_lo;; -'') { { echo "$as_me:$LINENO: error: cannot compute alignment of long, 77" >&5 -echo "$as_me: error: cannot compute alignment of long, 77" >&2;} - { (exit 1); exit 1; }; } ;; -esac -else - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling" >&5 -echo "$as_me: error: cannot run test program while cross compiling" >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; long field; } pgac_struct; -long longval () { return ((char*) & pgac_struct.field) - ((char*) & pgac_struct); } -unsigned long ulongval () { return ((char*) & pgac_struct.field) - ((char*) & pgac_struct); } -#include -#include -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - exit (1); - if ((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) < 0) - { - long i = longval (); - if (i != (((char*) & pgac_struct.field) - ((char*) & pgac_struct))) - exit (1); - fprintf (f, "%ld\n", i); - } - else - { - unsigned long i = ulongval (); - if (i != (((char*) & pgac_struct.field) - ((char*) & pgac_struct))) - exit (1); - fprintf (f, "%lu\n", i); - } - exit (ferror (f) || fclose (f) != 0); - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - pgac_cv_alignof_long=`cat conftest.val` -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: cannot compute alignment of long, 77" >&5 -echo "$as_me: error: cannot compute alignment of long, 77" >&2;} - { (exit 1); exit 1; }; } -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -rm -f conftest.val -else - pgac_cv_alignof_long=0 -fi -fi -echo "$as_me:$LINENO: result: $pgac_cv_alignof_long" >&5 -echo "${ECHO_T}$pgac_cv_alignof_long" >&6 -cat >>confdefs.h <<_ACEOF -#define ALIGNOF_LONG $pgac_cv_alignof_long -_ACEOF - - -if test x"$HAVE_LONG_LONG_INT_64" = x"yes" ; then - echo "$as_me:$LINENO: checking for long long int" >&5 -echo $ECHO_N "checking for long long int... $ECHO_C" >&6 -if test "${ac_cv_type_long_long_int+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -if ((long long int *) 0) - return 0; -if (sizeof (long long int)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_long_long_int=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_long_long_int=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_long_long_int" >&5 -echo "${ECHO_T}$ac_cv_type_long_long_int" >&6 - -echo "$as_me:$LINENO: checking alignment of long long int" >&5 -echo $ECHO_N "checking alignment of long long int... $ECHO_C" >&6 -if test "${pgac_cv_alignof_long_long_int+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$ac_cv_type_long_long_int" = yes; then - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; long long int field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) >= 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; long long int field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; long long int field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; long long int field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo= ac_hi= -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; long long int field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo=`expr '(' $ac_mid ')' + 1` -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) pgac_cv_alignof_long_long_int=$ac_lo;; -'') { { echo "$as_me:$LINENO: error: cannot compute alignment of long long int, 77" >&5 -echo "$as_me: error: cannot compute alignment of long long int, 77" >&2;} - { (exit 1); exit 1; }; } ;; -esac -else - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling" >&5 -echo "$as_me: error: cannot run test program while cross compiling" >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; long long int field; } pgac_struct; -long longval () { return ((char*) & pgac_struct.field) - ((char*) & pgac_struct); } -unsigned long ulongval () { return ((char*) & pgac_struct.field) - ((char*) & pgac_struct); } -#include -#include -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - exit (1); - if ((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) < 0) - { - long i = longval (); - if (i != (((char*) & pgac_struct.field) - ((char*) & pgac_struct))) - exit (1); - fprintf (f, "%ld\n", i); - } - else - { - unsigned long i = ulongval (); - if (i != (((char*) & pgac_struct.field) - ((char*) & pgac_struct))) - exit (1); - fprintf (f, "%lu\n", i); - } - exit (ferror (f) || fclose (f) != 0); - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - pgac_cv_alignof_long_long_int=`cat conftest.val` -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: cannot compute alignment of long long int, 77" >&5 -echo "$as_me: error: cannot compute alignment of long long int, 77" >&2;} - { (exit 1); exit 1; }; } -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -rm -f conftest.val -else - pgac_cv_alignof_long_long_int=0 -fi -fi -echo "$as_me:$LINENO: result: $pgac_cv_alignof_long_long_int" >&5 -echo "${ECHO_T}$pgac_cv_alignof_long_long_int" >&6 -cat >>confdefs.h <<_ACEOF -#define ALIGNOF_LONG_LONG_INT $pgac_cv_alignof_long_long_int -_ACEOF - - -fi -echo "$as_me:$LINENO: checking for double" >&5 -echo $ECHO_N "checking for double... $ECHO_C" >&6 -if test "${ac_cv_type_double+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -if ((double *) 0) - return 0; -if (sizeof (double)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_double=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_double=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_double" >&5 -echo "${ECHO_T}$ac_cv_type_double" >&6 - -echo "$as_me:$LINENO: checking alignment of double" >&5 -echo $ECHO_N "checking alignment of double... $ECHO_C" >&6 -if test "${pgac_cv_alignof_double+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$ac_cv_type_double" = yes; then - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; double field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) >= 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; double field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; double field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; double field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo= ac_hi= -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; double field; } pgac_struct; -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -static int test_array [1 - 2 * !((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo=`expr '(' $ac_mid ')' + 1` -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) pgac_cv_alignof_double=$ac_lo;; -'') { { echo "$as_me:$LINENO: error: cannot compute alignment of double, 77" >&5 -echo "$as_me: error: cannot compute alignment of double, 77" >&2;} - { (exit 1); exit 1; }; } ;; -esac -else - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling" >&5 -echo "$as_me: error: cannot run test program while cross compiling" >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -struct { char filler; double field; } pgac_struct; -long longval () { return ((char*) & pgac_struct.field) - ((char*) & pgac_struct); } -unsigned long ulongval () { return ((char*) & pgac_struct.field) - ((char*) & pgac_struct); } -#include -#include -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - exit (1); - if ((((char*) & pgac_struct.field) - ((char*) & pgac_struct)) < 0) - { - long i = longval (); - if (i != (((char*) & pgac_struct.field) - ((char*) & pgac_struct))) - exit (1); - fprintf (f, "%ld\n", i); - } - else - { - unsigned long i = ulongval (); - if (i != (((char*) & pgac_struct.field) - ((char*) & pgac_struct))) - exit (1); - fprintf (f, "%lu\n", i); - } - exit (ferror (f) || fclose (f) != 0); - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - pgac_cv_alignof_double=`cat conftest.val` -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: cannot compute alignment of double, 77" >&5 -echo "$as_me: error: cannot compute alignment of double, 77" >&2;} - { (exit 1); exit 1; }; } -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -rm -f conftest.val -else - pgac_cv_alignof_double=0 -fi -fi -echo "$as_me:$LINENO: result: $pgac_cv_alignof_double" >&5 -echo "${ECHO_T}$pgac_cv_alignof_double" >&6 -cat >>confdefs.h <<_ACEOF -#define ALIGNOF_DOUBLE $pgac_cv_alignof_double -_ACEOF - - - -# Compute maximum alignment of any basic type. -# We assume long's alignment is at least as strong as char, short, or int; -# but we must check long long (if it exists) and double. - -MAX_ALIGNOF=$pgac_cv_alignof_long -if test $MAX_ALIGNOF -lt $pgac_cv_alignof_double ; then - MAX_ALIGNOF=$pgac_cv_alignof_double -fi -if test x"$HAVE_LONG_LONG_INT_64" = xyes && test $MAX_ALIGNOF -lt $pgac_cv_alignof_long_long_int ; then - MAX_ALIGNOF="$pgac_cv_alignof_long_long_int" -fi - -cat >>confdefs.h <<_ACEOF -#define MAXIMUM_ALIGNOF $MAX_ALIGNOF -_ACEOF - - - -# Some platforms predefine the types int8, int16, etc. Only check -# a (hopefully) representative subset. -echo "$as_me:$LINENO: checking for int8" >&5 -echo $ECHO_N "checking for int8... $ECHO_C" >&6 -if test "${ac_cv_type_int8+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#ifdef HAVE_SUPPORTDEFS_H -#include -#endif - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -if ((int8 *) 0) - return 0; -if (sizeof (int8)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_int8=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_int8=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_int8" >&5 -echo "${ECHO_T}$ac_cv_type_int8" >&6 -if test $ac_cv_type_int8 = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_INT8 1 -_ACEOF - - -fi -echo "$as_me:$LINENO: checking for uint8" >&5 -echo $ECHO_N "checking for uint8... $ECHO_C" >&6 -if test "${ac_cv_type_uint8+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#ifdef HAVE_SUPPORTDEFS_H -#include -#endif - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -if ((uint8 *) 0) - return 0; -if (sizeof (uint8)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_uint8=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_uint8=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_uint8" >&5 -echo "${ECHO_T}$ac_cv_type_uint8" >&6 -if test $ac_cv_type_uint8 = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_UINT8 1 -_ACEOF - - -fi -echo "$as_me:$LINENO: checking for int64" >&5 -echo $ECHO_N "checking for int64... $ECHO_C" >&6 -if test "${ac_cv_type_int64+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#ifdef HAVE_SUPPORTDEFS_H -#include -#endif - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -if ((int64 *) 0) - return 0; -if (sizeof (int64)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_int64=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_int64=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_int64" >&5 -echo "${ECHO_T}$ac_cv_type_int64" >&6 -if test $ac_cv_type_int64 = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_INT64 1 -_ACEOF - - -fi -echo "$as_me:$LINENO: checking for uint64" >&5 -echo $ECHO_N "checking for uint64... $ECHO_C" >&6 -if test "${ac_cv_type_uint64+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#ifdef HAVE_SUPPORTDEFS_H -#include -#endif - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -if ((uint64 *) 0) - return 0; -if (sizeof (uint64)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_uint64=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_uint64=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_uint64" >&5 -echo "${ECHO_T}$ac_cv_type_uint64" >&6 -if test $ac_cv_type_uint64 = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_UINT64 1 -_ACEOF - - -fi - - -# We also check for sig_atomic_t, which *should* be defined per ANSI -# C, but is missing on some old platforms. -echo "$as_me:$LINENO: checking for sig_atomic_t" >&5 -echo $ECHO_N "checking for sig_atomic_t... $ECHO_C" >&6 -if test "${ac_cv_type_sig_atomic_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -if ((sig_atomic_t *) 0) - return 0; -if (sizeof (sig_atomic_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_sig_atomic_t=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_sig_atomic_t=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_sig_atomic_t" >&5 -echo "${ECHO_T}$ac_cv_type_sig_atomic_t" >&6 -if test $ac_cv_type_sig_atomic_t = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_SIG_ATOMIC_T 1 -_ACEOF - - -fi - - - -echo "$as_me:$LINENO: checking for POSIX signal interface" >&5 -echo $ECHO_N "checking for POSIX signal interface... $ECHO_C" >&6 -if test "${pgac_cv_func_posix_signals+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -struct sigaction act, oact; -sigemptyset(&act.sa_mask); -act.sa_flags = SA_RESTART; -sigaction(0, &act, &oact); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - pgac_cv_func_posix_signals=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -pgac_cv_func_posix_signals=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $pgac_cv_func_posix_signals" >&5 -echo "${ECHO_T}$pgac_cv_func_posix_signals" >&6 -if test x"$pgac_cv_func_posix_signals" = xyes ; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_POSIX_SIGNALS -_ACEOF - -fi -HAVE_POSIX_SIGNALS=$pgac_cv_func_posix_signals - - - -# Select semaphore implementation type. -if test x"$USE_NAMED_POSIX_SEMAPHORES" = x"1" ; then - -cat >>confdefs.h <<\_ACEOF -#define USE_NAMED_POSIX_SEMAPHORES 1 -_ACEOF - - SEMA_IMPLEMENTATION="src/backend/port/posix_sema.c" -else - if test x"$USE_UNNAMED_POSIX_SEMAPHORES" = x"1" ; then - -cat >>confdefs.h <<\_ACEOF -#define USE_UNNAMED_POSIX_SEMAPHORES 1 -_ACEOF - - SEMA_IMPLEMENTATION="src/backend/port/posix_sema.c" - else - -cat >>confdefs.h <<\_ACEOF -#define USE_SYSV_SEMAPHORES 1 -_ACEOF - - SEMA_IMPLEMENTATION="src/backend/port/sysv_sema.c" - fi -fi - - -# Select shared-memory implementation type. - -cat >>confdefs.h <<\_ACEOF -#define USE_SYSV_SHARED_MEMORY 1 -_ACEOF - -SHMEM_IMPLEMENTATION="src/backend/port/sysv_shmem.c" - - -if test "$enable_nls" = yes ; then - - echo "$as_me:$LINENO: checking for library containing gettext" >&5 -echo $ECHO_N "checking for library containing gettext... $ECHO_C" >&6 -if test "${ac_cv_search_gettext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_func_search_save_LIBS=$LIBS -ac_cv_search_gettext=no -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gettext (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -gettext (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_gettext="none required" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -if test "$ac_cv_search_gettext" = no; then - for ac_lib in intl; do - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gettext (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -gettext (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_gettext="-l$ac_lib" -break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - done -fi -LIBS=$ac_func_search_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_search_gettext" >&5 -echo "${ECHO_T}$ac_cv_search_gettext" >&6 -if test "$ac_cv_search_gettext" != no; then - test "$ac_cv_search_gettext" = "none required" || LIBS="$ac_cv_search_gettext $LIBS" - -else - { { echo "$as_me:$LINENO: error: a gettext implementation is required for NLS" >&5 -echo "$as_me: error: a gettext implementation is required for NLS" >&2;} - { (exit 1); exit 1; }; } -fi - - if test "${ac_cv_header_libintl_h+set}" = set; then - echo "$as_me:$LINENO: checking for libintl.h" >&5 -echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6 -if test "${ac_cv_header_libintl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 -echo "${ECHO_T}$ac_cv_header_libintl_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking libintl.h usability" >&5 -echo $ECHO_N "checking libintl.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking libintl.h presence" >&5 -echo $ECHO_N "checking libintl.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: libintl.h: proceeding with the preprocessor's result" >&2;};; - no:yes ) - { echo "$as_me:$LINENO: WARNING: libintl.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: libintl.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: libintl.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: libintl.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: libintl.h: proceeding with the preprocessor's result" >&2;};; -esac -echo "$as_me:$LINENO: checking for libintl.h" >&5 -echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6 -if test "${ac_cv_header_libintl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_libintl_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 -echo "${ECHO_T}$ac_cv_header_libintl_h" >&6 - -fi -if test $ac_cv_header_libintl_h = yes; then - : -else - { { echo "$as_me:$LINENO: error: header file is required for NLS" >&5 -echo "$as_me: error: header file is required for NLS" >&2;} - { (exit 1); exit 1; }; } -fi - - - for ac_prog in msgfmt -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_MSGFMT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$MSGFMT"; then - ac_cv_prog_MSGFMT="$MSGFMT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MSGFMT="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -MSGFMT=$ac_cv_prog_MSGFMT -if test -n "$MSGFMT"; then - echo "$as_me:$LINENO: result: $MSGFMT" >&5 -echo "${ECHO_T}$MSGFMT" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$MSGFMT" && break -done - - if test -z "$MSGFMT"; then - { { echo "$as_me:$LINENO: error: msgfmt is required for NLS" >&5 -echo "$as_me: error: msgfmt is required for NLS" >&2;} - { (exit 1); exit 1; }; } - fi - for ac_prog in msgmerge -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_MSGMERGE+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$MSGMERGE"; then - ac_cv_prog_MSGMERGE="$MSGMERGE" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MSGMERGE="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -MSGMERGE=$ac_cv_prog_MSGMERGE -if test -n "$MSGMERGE"; then - echo "$as_me:$LINENO: result: $MSGMERGE" >&5 -echo "${ECHO_T}$MSGMERGE" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$MSGMERGE" && break -done - - for ac_prog in xgettext -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_XGETTEXT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$XGETTEXT"; then - ac_cv_prog_XGETTEXT="$XGETTEXT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_XGETTEXT="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -XGETTEXT=$ac_cv_prog_XGETTEXT -if test -n "$XGETTEXT"; then - echo "$as_me:$LINENO: result: $XGETTEXT" >&5 -echo "${ECHO_T}$XGETTEXT" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$XGETTEXT" && break -done - - - # Note: share/locale is always the default, independent of $datadir - localedir='${prefix}/share/locale' - if test x"$prefix" = x"NONE"; then - exp_localedir="$ac_default_prefix/share/locale" - else - exp_localedir="$prefix/share/locale" - fi - - - -cat >>confdefs.h <<_ACEOF -#define LOCALEDIR "$exp_localedir" -_ACEOF - - -fi - -if test "$with_CXX" = yes; then - - -ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -if test "${ac_cv_header_string+set}" = set; then - echo "$as_me:$LINENO: checking for string" >&5 -echo $ECHO_N "checking for string... $ECHO_C" >&6 -if test "${ac_cv_header_string+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_string" >&5 -echo "${ECHO_T}$ac_cv_header_string" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking string usability" >&5 -echo $ECHO_N "checking string usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking string presence" >&5 -echo $ECHO_N "checking string presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: string: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: string: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: string: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: string: proceeding with the preprocessor's result" >&2;};; - no:yes ) - { echo "$as_me:$LINENO: WARNING: string: present but cannot be compiled" >&5 -echo "$as_me: WARNING: string: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: string: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: string: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: string: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: string: proceeding with the preprocessor's result" >&2;};; -esac -echo "$as_me:$LINENO: checking for string" >&5 -echo $ECHO_N "checking for string... $ECHO_C" >&6 -if test "${ac_cv_header_string+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_string=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_string" >&5 -echo "${ECHO_T}$ac_cv_header_string" >&6 - -fi -if test $ac_cv_header_string = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_CXX_STRING_HEADER 1 -_ACEOF - -else - echo "$as_me:$LINENO: checking for class string in " >&5 -echo $ECHO_N "checking for class string in ... $ECHO_C" >&6 -if test "${pgac_cv_class_string_in_string_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#include -#include - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ -string foo = "test" - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - pgac_cv_class_string_in_string_h=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -pgac_cv_class_string_in_string_h=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $pgac_cv_class_string_in_string_h" >&5 -echo "${ECHO_T}$pgac_cv_class_string_in_string_h" >&6 - - if test x"$pgac_cv_class_string_in_string_h" != xyes ; then - { { echo "$as_me:$LINENO: error: neither nor seem to define the C++ class 'string'" >&5 -echo "$as_me: error: neither nor seem to define the C++ class 'string'" >&2;} - { (exit 1); exit 1; }; } - fi - -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -echo "$as_me:$LINENO: checking for namespace std in C++" >&5 -echo $ECHO_N "checking for namespace std in C++... $ECHO_C" >&6 -if test "${pgac_cv_cxx_namespace_std+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#include -#ifdef HAVE_CXX_STRING_HEADER -#include -#endif -using namespace std; - -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - pgac_cv_cxx_namespace_std=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -pgac_cv_cxx_namespace_std=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -echo "$as_me:$LINENO: result: $pgac_cv_cxx_namespace_std" >&5 -echo "${ECHO_T}$pgac_cv_cxx_namespace_std" >&6 - -if test $pgac_cv_cxx_namespace_std = yes ; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_NAMESPACE_STD 1 -_ACEOF - -fi -fi - - -# Check for Tcl configuration script tclConfig.sh -if test "$with_tcl" = yes; then - for ac_prog in tclsh tcl -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_TCLSH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $TCLSH in - [\\/]* | ?:[\\/]*) - ac_cv_path_TCLSH="$TCLSH" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_TCLSH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - ;; -esac -fi -TCLSH=$ac_cv_path_TCLSH - -if test -n "$TCLSH"; then - echo "$as_me:$LINENO: result: $TCLSH" >&5 -echo "${ECHO_T}$TCLSH" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$TCLSH" && break -done - -echo "$as_me:$LINENO: checking for tclConfig.sh" >&5 -echo $ECHO_N "checking for tclConfig.sh... $ECHO_C" >&6 -# Let user override test -if test -z "$TCL_CONFIG_SH"; then - pgac_test_dirs="$with_tclconfig" - - set X $pgac_test_dirs; shift - if test $# -eq 0; then - test -z "$TCLSH" && { { echo "$as_me:$LINENO: error: unable to locate tclConfig.sh because no Tcl shell was found" >&5 -echo "$as_me: error: unable to locate tclConfig.sh because no Tcl shell was found" >&2;} - { (exit 1); exit 1; }; } - set X `echo 'puts $auto_path' | $TCLSH`; shift - fi - - for pgac_dir do - if test -r "$pgac_dir/tclConfig.sh"; then - TCL_CONFIG_SH=$pgac_dir/tclConfig.sh - break - fi - done -fi - -if test -z "$TCL_CONFIG_SH"; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - { { echo "$as_me:$LINENO: error: file 'tclConfig.sh' is required for Tcl" >&5 -echo "$as_me: error: file 'tclConfig.sh' is required for Tcl" >&2;} - { (exit 1); exit 1; }; } -else - echo "$as_me:$LINENO: result: $TCL_CONFIG_SH" >&5 -echo "${ECHO_T}$TCL_CONFIG_SH" >&6 -fi - - - - . "$TCL_CONFIG_SH" -eval TCL_LIB_FILE=\"$TCL_LIB_FILE\" -eval TCL_LIBS=\"$TCL_LIBS\" -eval TCL_LIB_SPEC=\"$TCL_LIB_SPEC\" -eval TCL_SHARED_BUILD=\"$TCL_SHARED_BUILD\" - - fi - -# Check for Tk configuration script tkConfig.sh -if test "$with_tk" = yes; then - echo "$as_me:$LINENO: checking for tkConfig.sh" >&5 -echo $ECHO_N "checking for tkConfig.sh... $ECHO_C" >&6 -# Let user override test -if test -z "$TK_CONFIG_SH"; then - pgac_test_dirs="$with_tkconfig $with_tclconfig" - - set X $pgac_test_dirs; shift - if test $# -eq 0; then - test -z "$TCLSH" && { { echo "$as_me:$LINENO: error: unable to locate tkConfig.sh because no Tcl shell was found" >&5 -echo "$as_me: error: unable to locate tkConfig.sh because no Tcl shell was found" >&2;} - { (exit 1); exit 1; }; } - set X `echo 'puts $auto_path' | $TCLSH`; shift - fi - - for pgac_dir do - if test -r "$pgac_dir/tkConfig.sh"; then - TK_CONFIG_SH=$pgac_dir/tkConfig.sh - break - fi - done -fi - -if test -z "$TK_CONFIG_SH"; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - { { echo "$as_me:$LINENO: error: file 'tkConfig.sh' is required for Tk" >&5 -echo "$as_me: error: file 'tkConfig.sh' is required for Tk" >&2;} - { (exit 1); exit 1; }; } -else - echo "$as_me:$LINENO: result: $TK_CONFIG_SH" >&5 -echo "${ECHO_T}$TK_CONFIG_SH" >&6 -fi - - - - . "$TK_CONFIG_SH" -eval TK_LIBS=\"$TK_LIBS\" -eval TK_LIB_SPEC=\"$TK_LIB_SPEC\" -eval TK_XINCLUDES=\"$TK_XINCLUDES\" - -fi - - -# -# Check for DocBook and tools -# -for ac_prog in onsgmls nsgmls -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_NSGMLS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$NSGMLS"; then - ac_cv_prog_NSGMLS="$NSGMLS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NSGMLS="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -NSGMLS=$ac_cv_prog_NSGMLS -if test -n "$NSGMLS"; then - echo "$as_me:$LINENO: result: $NSGMLS" >&5 -echo "${ECHO_T}$NSGMLS" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$NSGMLS" && break -done - -for ac_prog in openjade jade -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_JADE+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$JADE"; then - ac_cv_prog_JADE="$JADE" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_JADE="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -JADE=$ac_cv_prog_JADE -if test -n "$JADE"; then - echo "$as_me:$LINENO: result: $JADE" >&5 -echo "${ECHO_T}$JADE" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$JADE" && break -done - - -echo "$as_me:$LINENO: checking for DocBook V3.1" >&5 -echo $ECHO_N "checking for DocBook V3.1... $ECHO_C" >&6 -if test "${pgac_cv_check_docbook+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.sgml < - - test - - random - - testsect - text - - - -EOF - -${NSGMLS-false} -s conftest.sgml 1>&5 2>&1 -if test $? -eq 0; then - pgac_cv_check_docbook=yes -else - pgac_cv_check_docbook=no -fi -rm -f conftest.sgml -fi -echo "$as_me:$LINENO: result: $pgac_cv_check_docbook" >&5 -echo "${ECHO_T}$pgac_cv_check_docbook" >&6 - -have_docbook=$pgac_cv_check_docbook - - -echo "$as_me:$LINENO: checking for DocBook stylesheets" >&5 -echo $ECHO_N "checking for DocBook stylesheets... $ECHO_C" >&6 -if test "${pgac_cv_path_stylesheets+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$DOCBOOKSTYLE"; then - pgac_cv_path_stylesheets=$DOCBOOKSTYLE -else - for pgac_prefix in /usr /usr/local /opt; do - for pgac_infix in share lib; do - for pgac_postfix in \ - sgml/stylesheets/nwalsh-modular \ - sgml/stylesheets/docbook \ - sgml/docbook/dsssl/modular \ - sgml/docbook/dsssl-stylesheets - do - pgac_candidate=$pgac_prefix/$pgac_infix/$pgac_postfix - if test -r "$pgac_candidate/html/docbook.dsl" \ - && test -r "$pgac_candidate/print/docbook.dsl" - then - pgac_cv_path_stylesheets=$pgac_candidate - break 3 - fi - done - done - done -fi -fi - -DOCBOOKSTYLE=$pgac_cv_path_stylesheets - -if test -n "$DOCBOOKSTYLE"; then - echo "$as_me:$LINENO: result: $DOCBOOKSTYLE" >&5 -echo "${ECHO_T}$DOCBOOKSTYLE" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi -if test -n "$DOCBOOKSTYLE"; then - for ac_prog in collateindex.pl -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_COLLATEINDEX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $COLLATEINDEX in - [\\/]* | ?:[\\/]*) - ac_cv_path_COLLATEINDEX="$COLLATEINDEX" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $DOCBOOKSTYLE/bin $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_COLLATEINDEX="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - ;; -esac -fi -COLLATEINDEX=$ac_cv_path_COLLATEINDEX - -if test -n "$COLLATEINDEX"; then - echo "$as_me:$LINENO: result: $COLLATEINDEX" >&5 -echo "${ECHO_T}$COLLATEINDEX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$COLLATEINDEX" && break -done - -else - for ac_prog in collateindex.pl -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_COLLATEINDEX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $COLLATEINDEX in - [\\/]* | ?:[\\/]*) - ac_cv_path_COLLATEINDEX="$COLLATEINDEX" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_COLLATEINDEX="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - ;; -esac -fi -COLLATEINDEX=$ac_cv_path_COLLATEINDEX - -if test -n "$COLLATEINDEX"; then - echo "$as_me:$LINENO: result: $COLLATEINDEX" >&5 -echo "${ECHO_T}$COLLATEINDEX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$COLLATEINDEX" && break -done - -fi -for ac_prog in sgmlspl -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_SGMLSPL+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$SGMLSPL"; then - ac_cv_prog_SGMLSPL="$SGMLSPL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_SGMLSPL="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -SGMLSPL=$ac_cv_prog_SGMLSPL -if test -n "$SGMLSPL"; then - echo "$as_me:$LINENO: result: $SGMLSPL" >&5 -echo "${ECHO_T}$SGMLSPL" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$SGMLSPL" && break -done - - - -# prepare build tree if outside source tree -# Note 1: test -ef might not exist, but it's more reliable than `pwd`. -# Note 2: /bin/pwd might be better than shell's built-in at getting -# a symlink-free name. -if test "$no_create" != yes; then - if ( test "$srcdir" -ef . ) >/dev/null 2>&1 || test "`cd $srcdir && /bin/pwd`" = "`/bin/pwd`"; then - : - else - vpath_build=yes - - echo $ECHO_N "preparing build tree... $ECHO_C" >&6 - pgac_abs_top_srcdir=`cd "$srcdir" && pwd` - $SHELL "$ac_aux_dir/prep_buildtree" "$pgac_abs_top_srcdir" "." \ - || { { echo "$as_me:$LINENO: error: failed" >&5 -echo "$as_me: error: failed" >&2;} - { (exit 1); exit 1; }; } - echo "$as_me:$LINENO: result: done" >&5 -echo "${ECHO_T}done" >&6 - fi -fi - - -ac_config_files="$ac_config_files GNUmakefile src/Makefile.global" - - -ac_config_links="$ac_config_links src/backend/port/dynloader.c:src/backend/port/dynloader/${template}.c src/backend/port/pg_sema.c:${SEMA_IMPLEMENTATION} src/backend/port/pg_shmem.c:${SHMEM_IMPLEMENTATION} src/include/dynloader.h:src/backend/port/dynloader/${template}.h src/include/pg_config_os.h:src/include/port/${template}.h src/Makefile.port:src/makefiles/Makefile.${template}" - - -ac_config_headers="$ac_config_headers src/include/pg_config.h" - - -cat >confcache <<\_ACEOF -# 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, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overriden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# 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 \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} | - sed ' - t clear - : clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - : end' >>confcache -if cmp -s $cache_file confcache; then :; else - if test -w $cache_file; then - test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" - cat confcache >$cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/; -s/:*\${srcdir}:*/:/; -s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; -s/:*$//; -s/^[^=]*=[ ]*$//; -}' -fi - -DEFS=-DHAVE_CONFIG_H - - -: ${CONFIG_STATUS=./config.status} -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF - -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi - -# NLS nuisances. -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - -(set +x; test -n "`(LANG=C; export LANG) 2>&1`") && - { $as_unset LANG || test "${LANG+set}" != set; } || - { LANG=C; export LANG; } -(set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") && - { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } || - { LC_ALL=C; export LC_ALL; } -(set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") && - { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } || - { LC_TIME=C; export LC_TIME; } -(set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") && - { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } || - { LC_CTYPE=C; export LC_CTYPE; } -(set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") && - { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } || - { LANGUAGE=C; export LANGUAGE; } -(set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") && - { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } || - { LC_COLLATE=C; export LC_COLLATE; } -(set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") && - { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } || - { LC_NUMERIC=C; export LC_NUMERIC; } -(set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") && - { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } || - { LC_MESSAGES=C; export LC_MESSAGES; } - - -# Name of the executable. -as_me=`(basename "$0") 2>/dev/null || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - -# PATH needs CR, and LINENO needs CR and PATH. -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conftest.sh - echo "exit 0" >>conftest.sh - chmod +x conftest.sh - if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conftest.sh -fi - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done - - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | - sed ' - N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, - t loop - s,-$,, - s,^['$as_cr_digits']*\n,, - ' >$as_me.lineno && - chmod +x $as_me.lineno || - { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno - # Exit status is that of the last command. - exit -} - - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -as_executable_p="test -f" - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" - - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; } - -exec 6>&1 - -# Open the log real soon, to keep \$[0] and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. Logging --version etc. is OK. -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX -} >&5 -cat >&5 <<_CSEOF - -This file was extended by PostgreSQL $as_me 7.3devel, which was -generated by GNU Autoconf 2.53. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -_CSEOF -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 -echo >&5 -_ACEOF - -# Files that config.status was made for. -if test -n "$ac_config_files"; then - echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_headers"; then - echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_links"; then - echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_commands"; then - echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS -fi - -cat >>$CONFIG_STATUS <<\_ACEOF - -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number, then exit - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration links: -$config_links - -Report bugs to ." -_ACEOF - -cat >>$CONFIG_STATUS <<_ACEOF -ac_cs_version="\\ -PostgreSQL config.status 7.3devel -configured by $0, generated by GNU Autoconf 2.53, - with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" - -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." -srcdir=$srcdir -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "x$1" : 'x\([^=]*\)='` - ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` - shift - set dummy "$ac_option" "$ac_optarg" ${1+"$@"} - shift - ;; - -*);; - *) # This is not an option, so the user has probably given explicit - # arguments. - ac_need_defaults=false;; - esac - - case $1 in - # Handling of the options. -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion" - exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;; -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF - --version | --vers* | -V ) - echo "$ac_cs_version"; exit 0 ;; - --he | --h) - # Conflict between --help and --header - { { echo "$as_me:$LINENO: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - shift - CONFIG_FILES="$CONFIG_FILES $1" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - shift - CONFIG_HEADERS="$CONFIG_HEADERS $1" - ac_need_defaults=false;; - - # This is an error. - -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$ac_config_targets $1" ;; - - esac - shift -done - -_ACEOF - - - - - -cat >>$CONFIG_STATUS <<\_ACEOF -for ac_config_target in $ac_config_targets -do - case "$ac_config_target" in - # Handling of arguments. - "GNUmakefile" ) CONFIG_FILES="$CONFIG_FILES GNUmakefile" ;; - "src/Makefile.global" ) CONFIG_FILES="$CONFIG_FILES src/Makefile.global" ;; - "src/backend/port/tas.s" ) CONFIG_LINKS="$CONFIG_LINKS src/backend/port/tas.s:src/backend/port/tas/${tas_file}" ;; - "src/backend/port/dynloader.c" ) CONFIG_LINKS="$CONFIG_LINKS src/backend/port/dynloader.c:src/backend/port/dynloader/${template}.c" ;; - "src/backend/port/pg_sema.c" ) CONFIG_LINKS="$CONFIG_LINKS src/backend/port/pg_sema.c:${SEMA_IMPLEMENTATION}" ;; - "src/backend/port/pg_shmem.c" ) CONFIG_LINKS="$CONFIG_LINKS src/backend/port/pg_shmem.c:${SHMEM_IMPLEMENTATION}" ;; - "src/include/dynloader.h" ) CONFIG_LINKS="$CONFIG_LINKS src/include/dynloader.h:src/backend/port/dynloader/${template}.h" ;; - "src/include/pg_config_os.h" ) CONFIG_LINKS="$CONFIG_LINKS src/include/pg_config_os.h:src/include/port/${template}.h" ;; - "src/Makefile.port" ) CONFIG_LINKS="$CONFIG_LINKS src/Makefile.port:src/makefiles/Makefile.${template}" ;; - "src/include/pg_config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS src/include/pg_config.h" ;; - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links -fi - -# Create a temporary directory, and hook for its removal unless debugging. -$debug || -{ - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} - -# Create a (secure) tmp directory for tmp files. -: ${TMPDIR=/tmp} -{ - tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=$TMPDIR/cs$$-$RANDOM - (umask 077 && mkdir $tmp) -} || -{ - echo "$me: cannot create a temporary directory in $TMPDIR" >&2 - { (exit 1); exit 1; } -} - -_ACEOF - -cat >>$CONFIG_STATUS <<_ACEOF - -# -# CONFIG_FILES section. -# - -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "\$CONFIG_FILES"; then - # Protect against being on the right side of a sed subst in config.status. - sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; - s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF -s,@SHELL@,$SHELL,;t t -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t -s,@exec_prefix@,$exec_prefix,;t t -s,@prefix@,$prefix,;t t -s,@program_transform_name@,$program_transform_name,;t t -s,@bindir@,$bindir,;t t -s,@sbindir@,$sbindir,;t t -s,@libexecdir@,$libexecdir,;t t -s,@datadir@,$datadir,;t t -s,@sysconfdir@,$sysconfdir,;t t -s,@sharedstatedir@,$sharedstatedir,;t t -s,@localstatedir@,$localstatedir,;t t -s,@libdir@,$libdir,;t t -s,@includedir@,$includedir,;t t -s,@oldincludedir@,$oldincludedir,;t t -s,@infodir@,$infodir,;t t -s,@mandir@,$mandir,;t t -s,@build_alias@,$build_alias,;t t -s,@host_alias@,$host_alias,;t t -s,@target_alias@,$target_alias,;t t -s,@DEFS@,$DEFS,;t t -s,@ECHO_C@,$ECHO_C,;t t -s,@ECHO_N@,$ECHO_N,;t t -s,@ECHO_T@,$ECHO_T,;t t -s,@LIBS@,$LIBS,;t t -s,@docdir@,$docdir,;t t -s,@configure_args@,$configure_args,;t t -s,@build@,$build,;t t -s,@build_cpu@,$build_cpu,;t t -s,@build_vendor@,$build_vendor,;t t -s,@build_os@,$build_os,;t t -s,@host@,$host,;t t -s,@host_cpu@,$host_cpu,;t t -s,@host_vendor@,$host_vendor,;t t -s,@host_os@,$host_os,;t t -s,@PORTNAME@,$PORTNAME,;t t -s,@TAS@,$TAS,;t t -s,@MULTIBYTE@,$MULTIBYTE,;t t -s,@enable_nls@,$enable_nls,;t t -s,@WANTED_LANGUAGES@,$WANTED_LANGUAGES,;t t -s,@default_port@,$default_port,;t t -s,@enable_shared@,$enable_shared,;t t -s,@enable_rpath@,$enable_rpath,;t t -s,@enable_debug@,$enable_debug,;t t -s,@CC@,$CC,;t t -s,@CFLAGS@,$CFLAGS,;t t -s,@LDFLAGS@,$LDFLAGS,;t t -s,@CPPFLAGS@,$CPPFLAGS,;t t -s,@ac_ct_CC@,$ac_ct_CC,;t t -s,@EXEEXT@,$EXEEXT,;t t -s,@OBJEXT@,$OBJEXT,;t t -s,@CPP@,$CPP,;t t -s,@GCC@,$GCC,;t t -s,@autodepend@,$autodepend,;t t -s,@INCLUDES@,$INCLUDES,;t t -s,@with_tcl@,$with_tcl,;t t -s,@with_tk@,$with_tk,;t t -s,@with_perl@,$with_perl,;t t -s,@with_python@,$with_python,;t t -s,@ANT@,$ANT,;t t -s,@with_java@,$with_java,;t t -s,@with_krb4@,$with_krb4,;t t -s,@with_krb5@,$with_krb5,;t t -s,@krb_srvtab@,$krb_srvtab,;t t -s,@with_pam@,$with_pam,;t t -s,@with_openssl@,$with_openssl,;t t -s,@enable_odbc@,$enable_odbc,;t t -s,@with_unixodbc@,$with_unixodbc,;t t -s,@with_iodbc@,$with_iodbc,;t t -s,@odbcinst_ini_dir@,$odbcinst_ini_dir,;t t -s,@ELF_SYS@,$ELF_SYS,;t t -s,@CXX@,$CXX,;t t -s,@CXXFLAGS@,$CXXFLAGS,;t t -s,@ac_ct_CXX@,$ac_ct_CXX,;t t -s,@CXXCPP@,$CXXCPP,;t t -s,@with_CXX@,$with_CXX,;t t -s,@GXX@,$GXX,;t t -s,@AWK@,$AWK,;t t -s,@FLEX@,$FLEX,;t t -s,@FLEXFLAGS@,$FLEXFLAGS,;t t -s,@LN_S@,$LN_S,;t t -s,@LD@,$LD,;t t -s,@with_gnu_ld@,$with_gnu_ld,;t t -s,@ld_R_works@,$ld_R_works,;t t -s,@RANLIB@,$RANLIB,;t t -s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t -s,@LORDER@,$LORDER,;t t -s,@TAR@,$TAR,;t t -s,@STRIP@,$STRIP,;t t -s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t -s,@STRIP_STATIC_LIB@,$STRIP_STATIC_LIB,;t t -s,@STRIP_SHARED_LIB@,$STRIP_SHARED_LIB,;t t -s,@YACC@,$YACC,;t t -s,@YFLAGS@,$YFLAGS,;t t -s,@WISH@,$WISH,;t t -s,@PERL@,$PERL,;t t -s,@perl_installsitearch@,$perl_installsitearch,;t t -s,@perl_installman3dir@,$perl_installman3dir,;t t -s,@perl_archlibexp@,$perl_archlibexp,;t t -s,@perl_privlibexp@,$perl_privlibexp,;t t -s,@perl_useshrplib@,$perl_useshrplib,;t t -s,@perl_man3ext@,$perl_man3ext,;t t -s,@perl_embed_ldflags@,$perl_embed_ldflags,;t t -s,@PYTHON@,$PYTHON,;t t -s,@python_version@,$python_version,;t t -s,@python_prefix@,$python_prefix,;t t -s,@python_execprefix@,$python_execprefix,;t t -s,@python_configdir@,$python_configdir,;t t -s,@python_moduledir@,$python_moduledir,;t t -s,@python_moduleexecdir@,$python_moduleexecdir,;t t -s,@python_includespec@,$python_includespec,;t t -s,@python_libspec@,$python_libspec,;t t -s,@MEMCMP@,$MEMCMP,;t t -s,@SNPRINTF@,$SNPRINTF,;t t -s,@ISINF@,$ISINF,;t t -s,@GETRUSAGE@,$GETRUSAGE,;t t -s,@SRANDOM@,$SRANDOM,;t t -s,@GETHOSTNAME@,$GETHOSTNAME,;t t -s,@MISSING_RANDOM@,$MISSING_RANDOM,;t t -s,@INET_ATON@,$INET_ATON,;t t -s,@STRERROR@,$STRERROR,;t t -s,@STRDUP@,$STRDUP,;t t -s,@STRTOL@,$STRTOL,;t t -s,@STRTOUL@,$STRTOUL,;t t -s,@STRCASECMP@,$STRCASECMP,;t t -s,@HPUXMATHLIB@,$HPUXMATHLIB,;t t -s,@HAVE_POSIX_SIGNALS@,$HAVE_POSIX_SIGNALS,;t t -s,@MSGFMT@,$MSGFMT,;t t -s,@MSGMERGE@,$MSGMERGE,;t t -s,@XGETTEXT@,$XGETTEXT,;t t -s,@localedir@,$localedir,;t t -s,@TCLSH@,$TCLSH,;t t -s,@TCL_CONFIG_SH@,$TCL_CONFIG_SH,;t t -s,@TCL_LIB_FILE@,$TCL_LIB_FILE,;t t -s,@TCL_LIBS@,$TCL_LIBS,;t t -s,@TCL_LIB_SPEC@,$TCL_LIB_SPEC,;t t -s,@TCL_SHARED_BUILD@,$TCL_SHARED_BUILD,;t t -s,@TCL_SHLIB_LD_LIBS@,$TCL_SHLIB_LD_LIBS,;t t -s,@TK_CONFIG_SH@,$TK_CONFIG_SH,;t t -s,@TK_LIBS@,$TK_LIBS,;t t -s,@TK_LIB_SPEC@,$TK_LIB_SPEC,;t t -s,@TK_XINCLUDES@,$TK_XINCLUDES,;t t -s,@NSGMLS@,$NSGMLS,;t t -s,@JADE@,$JADE,;t t -s,@have_docbook@,$have_docbook,;t t -s,@DOCBOOKSTYLE@,$DOCBOOKSTYLE,;t t -s,@COLLATEINDEX@,$COLLATEINDEX,;t t -s,@SGMLSPL@,$SGMLSPL,;t t -s,@vpath_build@,$vpath_build,;t t -CEOF - -_ACEOF - - cat >>$CONFIG_STATUS <<\_ACEOF - # 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_lines=48 - ac_sed_frag=1 # Number of current file. - ac_beg=1 # First line for current file. - ac_end=$ac_max_sed_lines # 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" $tmp/subs.sed >$tmp/subs.frag - else - sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - fi - if test ! -s $tmp/subs.frag; then - ac_more_lines=false - else - # The purpose of the label and of the branching condition is to - # speed up the sed processing (if there are no `@' at all, there - # is no need to browse any of the substitutions). - # These are the two extra sed commands mentioned above. - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr $ac_sed_frag + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_lines` - fi - done - if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat - fi -fi # test -n "$CONFIG_FILES" - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`(dirname "$ac_file") 2>/dev/null || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { case "$ac_dir" in - [\\/]* | ?:[\\/]* ) as_incr_dir=;; - *) as_incr_dir=.;; -esac -as_dummy="$ac_dir" -for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do - case $as_mkdir_dir in - # Skip DOS drivespec - ?:) as_incr_dir=$as_mkdir_dir ;; - *) - as_incr_dir=$as_incr_dir/$as_mkdir_dir - test -d "$as_incr_dir" || - mkdir "$as_incr_dir" || - { { echo "$as_me:$LINENO: error: cannot create \"$ac_dir\"" >&5 -echo "$as_me: error: cannot create \"$ac_dir\"" >&2;} - { (exit 1); exit 1; }; } - ;; - esac -done; } - - ac_builddir=. - -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi - -case $srcdir in - .) # No --srcdir option. We are building in place. - ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` - - - - if test x"$ac_file" != x-; then - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - if test x"$ac_file" = x-; then - configure_input= - else - configure_input="$ac_file. " - fi - configure_input=$configure_input"Generated from `echo $ac_file_in | - sed 's,.*/,,'` by configure." - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo $f;; - *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF - sed "$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s,@configure_input@,$configure_input,;t t -s,@srcdir@,$ac_srcdir,;t t -s,@abs_srcdir@,$ac_abs_srcdir,;t t -s,@top_srcdir@,$ac_top_srcdir,;t t -s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t -s,@builddir@,$ac_builddir,;t t -s,@abs_builddir@,$ac_abs_builddir,;t t -s,@top_builddir@,$ac_top_builddir,;t t -s,@abs_top_builddir@,$ac_abs_top_builddir,;t t -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out - rm -f $tmp/stdin - if test x"$ac_file" != x-; then - mv $tmp/out $ac_file - else - cat $tmp/out - rm -f $tmp/out - fi - -done -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF - -# -# CONFIG_HEADER section. -# - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='[ ].*$,\1#\2' -ac_dC=' ' -ac_dD=',;t' -# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='$,\1#\2define\3' -ac_uC=' ' -ac_uD=',;t' - -for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo $f;; - *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } - # Remove the trailing spaces. - sed 's/[ ]*$//' $ac_file_inputs >$tmp/in - -_ACEOF - -# Transform confdefs.h into two sed scripts, `conftest.defines' and -# `conftest.undefs', that substitutes the proper values into -# config.h.in to produce config.h. The first handles `#define' -# templates, and the second `#undef' templates. -# And first: Protect against being on the right side of a sed subst in -# config.status. Protect against being in an unquoted here document -# in config.status. -rm -f conftest.defines conftest.undefs -# Using a here document instead of a string reduces the quoting nightmare. -# Putting comments in sed scripts is not portable. -# -# `end' is used to avoid that the second main sed command (meant for -# 0-ary CPP macros) applies to n-ary macro definitions. -# See the Autoconf documentation for `clear'. -cat >confdef2sed.sed <<\_ACEOF -s/[\\&,]/\\&/g -s,[\\$`],\\&,g -t clear -: clear -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp -t end -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp -: end -_ACEOF -# If some macros were called several times there might be several times -# the same #defines, which is useless. Nevertheless, we may not want to -# sort them, since we want the *last* AC-DEFINE to be honored. -uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines -sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs -rm -f confdef2sed.sed - -# This sed command replaces #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -cat >>conftest.undefs <<\_ACEOF -s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, -_ACEOF - -# Break up conftest.defines because some shells have a limit on the size -# of here documents, and old seds have small limits too (100 cmds). -echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS -echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS -echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS -echo ' :' >>$CONFIG_STATUS -rm -f conftest.tail -while grep . conftest.defines >/dev/null -do - # Write a limited-size here document to $tmp/defines.sed. - echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS - # Speed up: don't consider the non `#define' lines. - echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS - # Work around the forget-to-reset-the-flag bug. - echo 't clr' >>$CONFIG_STATUS - echo ': clr' >>$CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS - echo 'CEOF - sed -f $tmp/defines.sed $tmp/in >$tmp/out - rm -f $tmp/in - mv $tmp/out $tmp/in -' >>$CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail - rm -f conftest.defines - mv conftest.tail conftest.defines -done -rm -f conftest.defines -echo ' fi # egrep' >>$CONFIG_STATUS -echo >>$CONFIG_STATUS - -# Break up conftest.undefs because some shells have a limit on the size -# of here documents, and old seds have small limits too (100 cmds). -echo ' # Handle all the #undef templates' >>$CONFIG_STATUS -rm -f conftest.tail -while grep . conftest.undefs >/dev/null -do - # Write a limited-size here document to $tmp/undefs.sed. - echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS - # Speed up: don't consider the non `#undef' - echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS - # Work around the forget-to-reset-the-flag bug. - echo 't clr' >>$CONFIG_STATUS - echo ': clr' >>$CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS - echo 'CEOF - sed -f $tmp/undefs.sed $tmp/in >$tmp/out - rm -f $tmp/in - mv $tmp/out $tmp/in -' >>$CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail - rm -f conftest.undefs - mv conftest.tail conftest.undefs -done -rm -f conftest.undefs - -cat >>$CONFIG_STATUS <<\_ACEOF - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - if test x"$ac_file" = x-; then - echo "/* Generated by configure. */" >$tmp/config.h - else - echo "/* $ac_file. Generated by configure. */" >$tmp/config.h - fi - cat $tmp/in >>$tmp/config.h - rm -f $tmp/in - if test x"$ac_file" != x-; then - if cmp -s $ac_file $tmp/config.h 2>/dev/null; then - { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 -echo "$as_me: $ac_file is unchanged" >&6;} - else - ac_dir=`(dirname "$ac_file") 2>/dev/null || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { case "$ac_dir" in - [\\/]* | ?:[\\/]* ) as_incr_dir=;; - *) as_incr_dir=.;; -esac -as_dummy="$ac_dir" -for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do - case $as_mkdir_dir in - # Skip DOS drivespec - ?:) as_incr_dir=$as_mkdir_dir ;; - *) - as_incr_dir=$as_incr_dir/$as_mkdir_dir - test -d "$as_incr_dir" || - mkdir "$as_incr_dir" || - { { echo "$as_me:$LINENO: error: cannot create \"$ac_dir\"" >&5 -echo "$as_me: error: cannot create \"$ac_dir\"" >&2;} - { (exit 1); exit 1; }; } - ;; - esac -done; } - - rm -f $ac_file - mv $tmp/config.h $ac_file - fi - else - cat $tmp/config.h - rm -f $tmp/config.h - fi - # Run the commands associated with the file. - case $ac_file in - src/include/pg_config.h ) -# Update timestamp for pg_config.h (see Makefile.global) -echo >src/include/stamp-h - ;; - esac -done -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF - -# -# CONFIG_LINKS section. -# - -for ac_file in : $CONFIG_LINKS; do test "x$ac_file" = x: && continue - ac_dest=`echo "$ac_file" | sed 's,:.*,,'` - ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` - - { echo "$as_me:$LINENO: linking $srcdir/$ac_source to $ac_dest" >&5 -echo "$as_me: linking $srcdir/$ac_source to $ac_dest" >&6;} - - if test ! -r $srcdir/$ac_source; then - { { echo "$as_me:$LINENO: error: $srcdir/$ac_source: file not found" >&5 -echo "$as_me: error: $srcdir/$ac_source: file not found" >&2;} - { (exit 1); exit 1; }; } - fi - rm -f $ac_dest - - # Make relative symlinks. - ac_dest_dir=`(dirname "$ac_dest") 2>/dev/null || -$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_dest" : 'X\(//\)[^/]' \| \ - X"$ac_dest" : 'X\(//\)$' \| \ - X"$ac_dest" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_dest" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { case "$ac_dest_dir" in - [\\/]* | ?:[\\/]* ) as_incr_dir=;; - *) as_incr_dir=.;; -esac -as_dummy="$ac_dest_dir" -for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do - case $as_mkdir_dir in - # Skip DOS drivespec - ?:) as_incr_dir=$as_mkdir_dir ;; - *) - as_incr_dir=$as_incr_dir/$as_mkdir_dir - test -d "$as_incr_dir" || - mkdir "$as_incr_dir" || - { { echo "$as_me:$LINENO: error: cannot create \"$ac_dest_dir\"" >&5 -echo "$as_me: error: cannot create \"$ac_dest_dir\"" >&2;} - { (exit 1); exit 1; }; } - ;; - esac -done; } - - ac_builddir=. - -if test "$ac_dest_dir" != .; then - ac_dir_suffix=/`echo "$ac_dest_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi - -case $srcdir in - .) # No --srcdir option. We are building in place. - ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac -# Don't blindly perform a `cd "$ac_dest_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dest_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dest_dir" && cd $ac_top_builddir && pwd` -ac_abs_srcdir=`cd "$ac_dest_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dest_dir" && cd $ac_top_srcdir && pwd` - - - case $srcdir in - [\\/$]* | ?:[\\/]* ) ac_rel_source=$srcdir/$ac_source ;; - *) ac_rel_source=$ac_top_builddir$srcdir/$ac_source ;; - esac - - # Make a symlink if possible; otherwise try a hard link. - ln -s $ac_rel_source $ac_dest 2>/dev/null || - ln $srcdir/$ac_source $ac_dest || - { { echo "$as_me:$LINENO: error: cannot link $ac_dest to $srcdir/$ac_source" >&5 -echo "$as_me: error: cannot link $ac_dest to $srcdir/$ac_source" >&2;} - { (exit 1); exit 1; }; } -done -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF - -{ (exit 0); exit 0; } -_ACEOF -chmod +x $CONFIG_STATUS -ac_clean_files=$ac_clean_files_save - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - exec 5>/dev/null - $SHELL $CONFIG_STATUS || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } -fi - diff --git a/configure.in b/configure.in deleted file mode 100644 index 0accbce508..0000000000 --- a/configure.in +++ /dev/null @@ -1,1266 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -dnl $Header: /cvsroot/pgsql/configure.in,v 1.186 2002/05/28 16:57:53 petere Exp $ -dnl -dnl Developers, please strive to achieve this order: -dnl -dnl 0. Initialization and options processing -dnl 1. Programs -dnl 2. Libraries -dnl 3. Header files -dnl 4. Types -dnl 5. Structures -dnl 6. Compiler characteristics -dnl 7. Functions, global variables -dnl 8. System services -dnl -dnl Read the Autoconf manual for details. -dnl -m4_pattern_forbid(^PGAC_)dnl to catch undefined macros -dnl -dnl The GNU folks apparently haven't heard that some people don't use -dnl Texinfo. Use this sorcery to use "docdir" instead of "infodir". -m4_define([info], [doc]) -m4_define([infodir], [docdir]) -AC_INIT([PostgreSQL], [7.3devel], [pgsql-bugs@postgresql.org]) -m4_undefine([infodir]) -m4_undefine([info]) -AC_SUBST(docdir) - -AC_PREREQ(2.53) -AC_COPYRIGHT([Copyright 2002 PostgreSQL Global Development Group]) -AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c]) -AC_CONFIG_AUX_DIR(config) -AC_PREFIX_DEFAULT(/usr/local/pgsql) -AC_SUBST(configure_args, [$ac_configure_args]) - -AC_DEFINE_UNQUOTED(PG_VERSION, "$PACKAGE_VERSION", [PostgreSQL version]) - -AC_CANONICAL_HOST - -template= -AC_MSG_CHECKING([which template to use]) - -PGAC_ARG_REQ(with, template, [], -[ - case $withval in - list) echo; ls "$srcdir/src/template"; exit;; - *) if test -f "$srcdir/src/template/$with_template" ; then - template=$withval - else - AC_MSG_ERROR(['$withval' is not a valid template name. Use 'list' for a list.]) - fi;; - esac -], -[ - # --with-template not given - -case $host_os in - aix*) template=aix ;; - beos*) template=beos ;; - bsdi*) template=bsdi ;; - cygwin*) template=win ;; - darwin*) template=darwin ;; - dgux*) template=dgux ;; - freebsd*) template=freebsd ;; - hpux*) template=hpux ;; - irix*) template=irix5 ;; - linux*) template=linux ;; - netbsd*) template=netbsd ;; -nextstep*) template=nextstep ;; - openbsd*) template=openbsd ;; - osf*) template=osf ;; - qnx*) template=qnx4 ;; - sco*) template=sco ;; - solaris*) template=solaris ;; - sunos*) template=sunos4 ;; - sysv4.2*) - case $host_vendor in - univel) template=univel ;; - esac ;; - sysv4*) template=svr4 ;; - sysv5*) template=unixware ;; - ultrix*) template=ultrix4 ;; -esac - - if test x"$template" = x"" ; then - AC_MSG_ERROR([[ -******************************************************************* -PostgreSQL has apparently not been ported to your platform yet. -To try a manual configuration, look into the src/template directory -for a similar platform and use the '--with-template=' option. - -Please also contact to see about -rectifying this. Include the above 'checking host system type...' -line. -******************************************************************* -]]) - fi - -]) - -AC_MSG_RESULT([$template]) - -PORTNAME=$template -AC_SUBST(PORTNAME) - -# Pick right test-and-set (TAS) code. Most platforms have inline -# assembler code in src/include/storage/s_lock.h, so we just use -# a dummy file here. -case $host in - *-*-hpux*) need_tas=yes; tas_file=hpux.s ;; - sparc-*-solaris*) need_tas=yes; tas_file=solaris_sparc.s ;; - i?86-*-solaris*) need_tas=yes; tas_file=solaris_i386.s ;; - *) need_tas=no; tas_file=dummy.s ;; -esac -AC_CONFIG_LINKS([src/backend/port/tas.s:src/backend/port/tas/${tas_file}]) - -if test "$need_tas" = yes ; then - TAS=tas.o -fi -AC_SUBST(TAS) - - - -## -## Command line options -## - - -# -# Add non-standard directories to the include path -# -PGAC_ARG_REQ(with, includes, [ --with-includes=DIRS look for additional header files in DIRS]) - - -# -# Add non-standard directories to the library search path -# -PGAC_ARG_REQ(with, libraries, [ --with-libraries=DIRS look for additional libraries in DIRS], - [LIBRARY_DIRS=$withval]) - -PGAC_ARG_REQ(with, libs, [ --with-libs=DIRS alternative spelling of --with-libraries], - [LIBRARY_DIRS=$withval]) - - -# -# 64-bit integer date/time storage (--enable-integer-datetimes) -# -AC_MSG_CHECKING([whether to build with 64-bit integer date/time support]) -PGAC_ARG_BOOL(enable, integer-datetimes, no, [ --enable-integer-datetimes enable 64-bit integer date/time support], - [AC_DEFINE([USE_INTEGER_DATETIMES], 1, - [Set to 1 if you want integer date/time support (--enable-integer-datetimes)])]) -AC_MSG_RESULT([$enable_integer_datetimes]) - - -# Character set recode (--enable-recode) -# -AC_MSG_CHECKING([whether to build with recode support]) -PGAC_ARG_BOOL(enable, recode, no, [ --enable-recode enable character set recode support], - [AC_DEFINE([CYR_RECODE], 1, - [Set to 1 if you want cyrillic recode support (--enable-recode)])]) -AC_MSG_RESULT([$enable_recode]) - - -# -# Multibyte support -# -MULTIBYTE=SQL_ASCII -AC_DEFINE(MULTIBYTE, 1, [Set to 1 if you want to use multibyte characters (--enable-multibyte)]) -AC_SUBST(MULTIBYTE) - -# -# NLS -# -AC_MSG_CHECKING([whether NLS is wanted]) -PGAC_ARG_OPTARG(enable, nls, - [[ --enable-nls[=LANGUAGES] enable Native Language Support]], - [], - [WANTED_LANGUAGES=$enableval], - [AC_DEFINE(ENABLE_NLS, 1, - [Define to 1 if you want National Language Support (--enable-nls)])]) -AC_MSG_RESULT([$enable_nls]) -AC_SUBST(enable_nls) -AC_SUBST(WANTED_LANGUAGES) - -# -# Default port number (--with-pgport), default 5432 -# -AC_MSG_CHECKING([for default port number]) -PGAC_ARG_REQ(with, pgport, [ --with-pgport=PORTNUM change default port number [5432]], - [default_port=$withval], - [default_port=5432]) -AC_MSG_RESULT([$default_port]) -# Need both of these because some places want an integer and some a string -AC_DEFINE_UNQUOTED(DEF_PGPORT, ${default_port}, -[The default TCP port number on which the server listens and to which -clients will try to connect to. This can be overridden at run-time, -but it's convenient if your clients have the right default compiled in. -(--with-pgport=PORTNUM)]) -AC_DEFINE_UNQUOTED(DEF_PGPORT_STR, "${default_port}", - [Default TCP port number as string constant]) -AC_SUBST(default_port) - -# -# Maximum number of allowed connections (--with-maxbackends), default 32 -# -AC_MSG_CHECKING([for default soft limit on number of connections]) -PGAC_ARG_REQ(with, maxbackends, [ --with-maxbackends=N set default maximum number of connections [32]], - [], - [with_maxbackends=32]) -AC_MSG_RESULT([$with_maxbackends]) -AC_DEFINE_UNQUOTED([DEF_MAXBACKENDS], [$with_maxbackends], - [The default soft limit on the number of concurrent connections, i.e., the default for the postmaster -N switch (--with-maxbackends)]) - - -# -# Option to disable shared libraries -# -PGAC_ARG_BOOL(enable, shared, yes, - [ --disable-shared do not build shared libraries]) -AC_SUBST(enable_shared) - -# -# '-rpath'-like feature can be disabled -# -PGAC_ARG_BOOL(enable, rpath, yes, - [ --disable-rpath do not embed shared library search path in executables]) -AC_SUBST(enable_rpath) - - -# -# --enable-debug adds -g to compiler flags -# -PGAC_ARG_BOOL(enable, debug, no, - [ --enable-debug build with debugging symbols (-g)]) -AC_SUBST(enable_debug) - -# -# C compiler -# - -# For historical reasons you can also use --with-CC to specify the C compiler -# to use, although the standard way to do this is to set the CC environment -# variable. -PGAC_ARG_REQ(with, CC, [], [CC=$with_CC]) - -case $template in - aix) pgac_cc_list="gcc xlc";; - irix) pgac_cc_list="cc";; # no gcc - *) pgac_cc_list="gcc cc";; -esac - -AC_PROG_CC([$pgac_cc_list]) -# Read the template -. "$srcdir/src/template/$template" || exit - -if test "$ac_env_CFLAGS_set" = set; then - CFLAGS=$ac_env_CFLAGS_value -fi -if test "$enable_debug" = yes && test "$ac_cv_prog_cc_g" = yes; then - CFLAGS="$CFLAGS -g" -fi -AC_MSG_NOTICE([using CFLAGS=$CFLAGS]) -# Check if the compiler still works with the template settings -AC_MSG_CHECKING([whether the C compiler still works]) -AC_TRY_LINK([], [return 0;], - [AC_MSG_RESULT(yes)], - [AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot proceed])]) -AC_PROG_CPP -AC_SUBST(GCC) - -# Create compiler version string -if test x"$GCC" = x"yes" ; then - cc_string="GCC `${CC} --version | sed q`" -else - cc_string=$CC -fi -AC_DEFINE_UNQUOTED(PG_VERSION_STR, ["PostgreSQL $PACKAGE_VERSION on $host, compiled by $cc_string"], [A canonical string containing the version number, platform, and C compiler]) - - -# -# Automatic dependency tracking -# -PGAC_ARG_BOOL(enable, depend, no, [ --enable-depend turn on automatic dependency tracking], - [autodepend=yes]) -AC_SUBST(autodepend) - - -# -# Enable assert checks -# -PGAC_ARG_BOOL(enable, cassert, no, [ --enable-cassert enable assertion checks (for debugging)], - [AC_DEFINE([USE_ASSERT_CHECKING], 1, - [Define to 1 to build with assertion checks])]) - - -# -# Include directories -# -ac_save_IFS=$IFS -IFS="${IFS}:" -# SRCH_INC comes from the template file -for dir in $with_includes $SRCH_INC; do - if test -d "$dir"; then - INCLUDES="$INCLUDES -I$dir" - else - AC_MSG_WARN([*** Include directory $dir does not exist.]) - fi -done -IFS=$ac_save_IFS -AC_SUBST(INCLUDES) - - -# -# Library directories -# -ac_save_IFS=$IFS -IFS="${IFS}:" -# LIBRARY_DIRS comes from command line, SRCH_LIB from template file. -for dir in $LIBRARY_DIRS $SRCH_LIB; do - if test -d "$dir"; then - LIBDIRS="$LIBDIRS -L$dir" - else - AC_MSG_WARN([*** Library directory $dir does not exist.]) - fi -done -IFS=$ac_save_IFS - - -# -# Tcl/Tk -# -AC_MSG_CHECKING([whether to build with Tcl]) -PGAC_ARG_BOOL(with, tcl, no, [ --with-tcl build Tcl and Tk interfaces]) -AC_MSG_RESULT([$with_tcl]) -AC_SUBST([with_tcl]) - -# If Tcl is enabled (above) then Tk is also, unless the user disables it using --without-tk -AC_MSG_CHECKING([whether to build with Tk]) -if test "$with_tcl" = yes; then - PGAC_ARG_BOOL(with, tk, yes, [ --without-tk do not build Tk interfaces if Tcl is enabled]) -else - with_tk=no -fi -AC_MSG_RESULT([$with_tk]) -AC_SUBST([with_tk]) - - -# We see if the path to the Tcl/Tk configuration scripts is specified. -# This will override the use of tclsh to find the paths to search. - -PGAC_ARG_REQ(with, tclconfig, [ --with-tclconfig=DIR tclConfig.sh and tkConfig.sh are in DIR]) - -# We see if the path to the Tk configuration scripts is specified. -# This will override the use of tclsh to find the paths to search. - -PGAC_ARG_REQ(with, tkconfig, [ --with-tkconfig=DIR tkConfig.sh is in DIR]) - -# -# Optionally build Perl modules (Pg.pm and PL/Perl) -# -AC_MSG_CHECKING([whether to build Perl modules]) -PGAC_ARG_BOOL(with, perl, no, [ --with-perl build Perl interface and PL/Perl]) -AC_MSG_RESULT([$with_perl]) -AC_SUBST(with_perl) - -# -# Optionally build Python interface module -# -AC_MSG_CHECKING([whether to build Python modules]) -PGAC_ARG_BOOL(with, python, no, [ --with-python build Python interface module]) -AC_MSG_RESULT([$with_python]) -AC_SUBST(with_python) - -# -# Optionally build the Java/JDBC tools -# -AC_MSG_CHECKING([whether to build Java/JDBC tools]) -PGAC_ARG_BOOL(with, java, no, [ --with-java build JDBC interface and Java tools], -[AC_MSG_RESULT(yes) -PGAC_PATH_ANT -if test -z "$ANT"; then - AC_MSG_ERROR([Ant is required to build Java components]) -fi], -[AC_MSG_RESULT(no)]) -AC_SUBST(with_java) - -dnl A note on the Kerberos and OpenSSL options: -dnl -dnl The user can give an argument to the option in order the specify -dnl the base path of the respective installation (what he specified -dnl perhaps as --prefix). If no argument is given ($withval is "yes") -dnl then we take the path where the package installs by default. This -dnl way the user doesn't have to use redundant --with-includes and -dnl --with-libraries options, but he can still use them if the layout -dnl is non-standard. - -# -# Kerberos 4 -# -AC_MSG_CHECKING([whether to build with Kerberos 4 support]) -PGAC_ARG_OPTARG(with, krb4, [[ --with-krb4[=DIR] build with Kerberos 4 support [/usr/athena]]], - [krb4_prefix=/usr/athena], - [krb4_prefix=$withval], -[ - AC_MSG_RESULT(yes) - AC_DEFINE(KRB4, 1, [Define if you are building with Kerberos 4 support.]) - - if test -d "$krb4_prefix/include"; then - INCLUDES="$INCLUDES -I$krb4_prefix/include" - fi - if test -d "$krb4_prefix/lib"; then - LIBDIRS="$LIBDIRS -L$krb4_prefix/lib" - fi - - krb_srvtab="/etc/srvtab" -], -[AC_MSG_RESULT(no)]) - -AC_SUBST(with_krb4) - - -# -# Kerberos 5 -# -AC_MSG_CHECKING([whether to build with Kerberos 5 support]) -PGAC_ARG_OPTARG(with, krb5, [[ --with-krb5[=DIR] build with Kerberos 5 support [/usr/athena]]], - [krb5_prefix=/usr/athena], - [krb5_prefix=$withval], -[ - AC_MSG_RESULT([yes]) - AC_DEFINE(KRB5, 1, [Define if you are building with Kerberos 5 support.]) - - if test -d "$krb5_prefix/include"; then - INCLUDES="$INCLUDES -I$krb5_prefix/include" - fi - if test -d "$krb5_prefix/lib"; then - LIBDIRS="$LIBDIRS -L$krb5_prefix/lib" - fi - - krb_srvtab="FILE:\$(sysconfdir)/krb5.keytab" -], -[AC_MSG_RESULT(no)]) - -AC_SUBST(with_krb5) - - -# Using both Kerberos 4 and Kerberos 5 at the same time isn't going to work. -if test "$with_krb4" = yes && test "$with_krb5" = yes ; then - AC_MSG_ERROR([Kerberos 4 and Kerberos 5 support cannot be combined]) -fi - -AC_SUBST(krb_srvtab) - - -# -# Kerberos configuration parameters -# -PGAC_ARG_REQ(with, krb-srvnam, - [ --with-krb-srvnam=NAME name of the service principal in Kerberos [postgres]], - [], - [with_krb_srvnam="postgres"]) -AC_DEFINE_UNQUOTED([PG_KRB_SRVNAM], ["$with_krb_srvnam"], - [The name of the PostgreSQL service principal in Kerberos]) - - -# -# PAM -# -AC_MSG_CHECKING([whether to build with PAM support]) -PGAC_ARG_BOOL(with, pam, no, - [ --with-pam build with PAM support], - [AC_DEFINE([USE_PAM], 1, [Define to build with PAM support])]) -AC_MSG_RESULT([$with_pam]) -AC_SUBST(with_pam) - - -# -# OpenSSL -# -PGAC_ARG_OPTARG(with, openssl, - [[ --with-openssl[=DIR] build with OpenSSL support [/usr/local/ssl]]], - [openssl_prefix=/usr/local/ssl], - [openssl_prefix=$withval], -[ - AC_MSG_RESULT([building with OpenSSL support]) - AC_DEFINE([USE_SSL], 1, [Define to build with (Open)SSL support]) - - if test -d "${openssl_prefix}/include" ; then - INCLUDES="$INCLUDES -I${openssl_prefix}/include" - fi - if test -d "${openssl_prefix}/lib" ; then - LIBDIRS="$LIBDIRS -L${openssl_prefix}/lib" - fi -]) - -AC_SUBST(with_openssl) - - -# -# Readline -# -PGAC_ARG_BOOL(with, readline, yes, - [ --without-readline do not use Readline]) - -# -# Zlib -# -PGAC_ARG_BOOL(with, zlib, yes, - [ --without-zlib do not use Zlib]) - - - -# -# Optionally enable the building of the ODBC driver -# - -# Old option name -if test "${with_odbc+set}" = set && test "${enable_odbc+set}" != set; then - enable_odbc=$with_odbc -fi - -AC_MSG_CHECKING([whether to build the ODBC driver]) -PGAC_ARG_BOOL(enable, odbc, no, [ --enable-odbc build the ODBC driver package]) -PGAC_ARG_BOOL(with, unixodbc, no, [ --with-unixodbc build ODBC driver for unixODBC]) -PGAC_ARG_BOOL(with, iodbc, no, [ --with-iodbc build ODBC driver for iODBC]) -if test "$with_unixodbc" = yes && test "$with_iodbc" = yes; then - AC_MSG_ERROR([ODBC driver cannot be built for both unixODBC and iODBC]) -fi -if test "$with_unixodbc" = yes || test "$with_iodbc" = yes; then - enable_odbc=yes -fi -case $enable_odbc:$with_unixodbc:$with_iodbc in - yes:no:no) AC_MSG_RESULT([yes (stand-alone)]);; - yes:yes:no) AC_MSG_RESULT([yes (unixODBC)]) - AC_DEFINE(WITH_UNIXODBC, 1, [Define to 1 to build with unixODBC support (--with-unixodbc)]) - ;; - yes:no:yes) AC_MSG_RESULT([yes (iODBC)]) - AC_DEFINE(WITH_IODBC, 1, [Define to 1 to build with iODBC support (--with-iodbc)]) - ;; - no:*) AC_MSG_RESULT(no);; -esac -AC_SUBST([enable_odbc]) -AC_SUBST([with_unixodbc]) -AC_SUBST([with_iodbc]) - - -# Allow for overriding the default location of the odbcinst.ini -# file which is normally ${sysconfdir} (i.e., ${prefix}/etc). -PGAC_ARG_REQ(with, odbcinst, - [ --with-odbcinst=DIR default directory for odbcinst.ini [sysconfdir]], - [odbcinst_ini_dir=$withval], - [odbcinst_ini_dir="\${sysconfdir}"]) -AC_SUBST([odbcinst_ini_dir]) - - - -# Assume system is ELF if it predefines __ELF__ as 1, -# otherwise believe host_os based default. -case $host_os in - freebsd1*|freebsd2*) elf=no;; - freebsd3*|freebsd4*) elf=yes;; -esac - -AC_EGREP_CPP(yes, -[#if __ELF__ - yes -#endif -], -[ELF_SYS=true], -[if test "X$elf" = "Xyes" ; then - ELF_SYS=true -else - ELF_SYS= -fi]) -AC_SUBST(ELF_SYS) - - - -# -# Optionally build C++ code (i.e., libpq++) -# -AC_MSG_CHECKING([whether to build C++ modules]) -PGAC_ARG_OPTARG(with, CXX, [ --with-CXX build C++ modules (libpq++)], - [], - [CXX=$withval], -[ - AC_MSG_RESULT(yes) - - # If the user has specified CXXFLAGS in the environment, leave it - # alone, else use a default. - - AC_PROG_CXX - if test "$ac_env_CXXFLAGS" != set; then - if test "$GXX" = yes; then - CXXFLAGS=-O2 - else - case $template in - osf) CXXFLAGS='-O4 -Olimit 2000' ;; - unixware) CXXFLAGS='-O' ;; - *) CXXFLAGS= ;; - esac - fi - fi - if test "$enable_debug" = yes && test "$ac_cv_prog_cxx_g" = yes; then - CXXFLAGS="$CXXFLAGS -g" - fi - AC_MSG_NOTICE([using CXXFLAGS=$CXXFLAGS]) - - AC_PROG_CXXCPP -], -[AC_MSG_RESULT(no)]) -AC_SUBST(with_CXX) -AC_SUBST(GXX) - -CPPFLAGS="$CPPFLAGS $INCLUDES" -LDFLAGS="$LDFLAGS $LIBDIRS" - -AC_MSG_NOTICE([using CPPFLAGS=$CPPFLAGS]) -AC_MSG_NOTICE([using LDFLAGS=$LDFLAGS]) - - -AC_PROG_AWK -PGAC_PATH_FLEX -AC_PROG_LN_S -AC_PROG_LD -AC_SUBST(LD) -AC_SUBST(with_gnu_ld) -case $host_os in sysv5*) - AC_CACHE_CHECK([whether ld -R works], [pgac_cv_prog_ld_R], - [ - pgac_save_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -Wl,-R/usr/lib" - AC_TRY_LINK([], [], [pgac_cv_prog_ld_R=yes], [pgac_cv_prog_ld_R=no]) - LDFLAGS=$pgac_save_LDFLAGS - ]) - ld_R_works=$pgac_cv_prog_ld_R - AC_SUBST(ld_R_works) -esac -AC_PROG_RANLIB -AC_CHECK_PROGS(LORDER, lorder) -AC_PATH_PROG(TAR, tar) -PGAC_CHECK_STRIP - -AC_CHECK_PROGS(YACC, ['bison -y']) -if test -z "$YACC"; then - AC_MSG_WARN([ -*** Without Bison you will not be able to build PostgreSQL from CVS or -*** change any of the parser definition files. You can obtain Bison from -*** a GNU mirror site. (If you are using the official distribution of -*** PostgreSQL then you do not need to worry about this because the Bison -*** output is pre-generated.) To use a different yacc program (possible, -*** but not recommended), set the environment variable YACC before running -*** 'configure'.]) -fi -AC_SUBST(YFLAGS) - -if test "$with_tk" = yes; then - AC_PATH_PROG(WISH, wish) - test -z "$WISH" && AC_MSG_ERROR(['wish' is required for Tk support]) -fi - -PGAC_PATH_PERL -if test "$with_perl" = yes; then - PGAC_CHECK_PERL_CONFIGS([installsitearch,installman3dir, - archlibexp,privlibexp,useshrplib,man3ext]) - PGAC_CHECK_PERL_EMBED_LDFLAGS -fi - -if test "$with_python" = yes; then - PGAC_PATH_PYTHON - PGAC_CHECK_PYTHON_MODULE_SETUP - PGAC_CHECK_PYTHON_EMBED_SETUP -fi - - -## -## Libraries -## - -if test "$PORTNAME" != "aix" -a "$PORTNAME" != "alpha" -then - AC_CHECK_LIB(bsd, main) -fi -AC_CHECK_LIB(util, setproctitle) -AC_CHECK_LIB(m, main) -AC_CHECK_LIB(dl, main) -AC_CHECK_LIB(nsl, main) -AC_CHECK_LIB(socket, main) -AC_CHECK_LIB(ipc, main) -AC_CHECK_LIB(IPC, main) -AC_CHECK_LIB(lc, main) -AC_CHECK_LIB(dld, main) -AC_CHECK_LIB(ld, main) -AC_CHECK_LIB(compat, main) -AC_CHECK_LIB(BSD, main) -AC_CHECK_LIB(gen, main) -AC_CHECK_LIB(PW, main) -AC_CHECK_LIB(resolv, main) -# QNX: -AC_CHECK_LIB([[unix]], main) -AC_SEARCH_LIBS(crypt, crypt) -# BeOS: -AC_CHECK_LIB(bind, __inet_ntoa) -# Solaris: -AC_SEARCH_LIBS(fdatasync, [rt posix4]) - -if test "$with_readline" = yes; then - PGAC_CHECK_READLINE - if test x"$pgac_cv_check_readline" = x"no"; then - AC_MSG_ERROR([readline library not found -Use --without-readline to disable readline support.]) - fi -fi - -if test "$with_zlib" = yes; then - AC_CHECK_LIB(z, inflate, [], - [AC_MSG_ERROR([zlib library not found -Use --without-zlib to disable zlib support.])]) -fi - -if test "$with_krb4" = yes ; then - AC_CHECK_LIB(des, [des_encrypt], [], [AC_MSG_ERROR([library 'des' is required for Kerberos 4])]) - AC_CHECK_LIB(krb, [krb_sendauth], [], [AC_MSG_ERROR([library 'krb' is required for Kerberos 4])]) -fi - -if test "$with_krb5" = yes ; then - AC_SEARCH_LIBS(com_err, [krb5 'krb5 -ldes -lasn1 -lroken' com_err], [], - [AC_MSG_ERROR([could not find function 'com_err' required for Kerberos 5])]) - AC_SEARCH_LIBS(krb5_encrypt, [krb5 'krb5 -ldes -lasn1 -lroken' crypto k5crypto], [], - [AC_MSG_ERROR([could not find function 'krb5_encrypt' required for Kerberos 5])]) - AC_SEARCH_LIBS(krb5_sendauth, [krb5 'krb5 -ldes -lasn1 -lroken'], [], - [AC_MSG_ERROR([could not find function 'krb5_sendauth' required for Kerberos 5])]) -fi - -if test "$with_openssl" = yes ; then - dnl Order matters! - AC_CHECK_LIB(crypto, [CRYPTO_new_ex_data], [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])]) - AC_CHECK_LIB(ssl, [SSL_library_init], [], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])]) -fi - -if test "$with_pam" = yes ; then - AC_CHECK_LIB(pam, [pam_start], [], [AC_MSG_ERROR([library 'pam' is required for PAM])]) -fi - - -## -## Header files -## -dnl sys/socket.h is required by AC_FUNC_ACCEPT_ARGTYPES -AC_CHECK_HEADERS([crypt.h dld.h endian.h fp_class.h getopt.h ieeefp.h pwd.h sys/ipc.h sys/pstat.h sys/select.h sys/sem.h sys/socket.h sys/shm.h sys/un.h termios.h kernel/OS.h kernel/image.h SupportDefs.h]) - -# At least on IRIX, cpp test for netinet/tcp.h will fail unless -# netinet/in.h is included first. -AC_CHECK_HEADERS([netinet/in.h]) -AC_CHECK_HEADERS([netinet/tcp.h], [], [], -[AC_INCLUDES_DEFAULT -#ifdef HAVE_NETINET_IN_H -#include -#endif -]) - -if test "$with_readline" = yes; then - AC_CHECK_HEADERS([readline/readline.h], [], - [AC_CHECK_HEADERS([readline.h], [], - [AC_MSG_ERROR([readline header not found -Use --without-readline to disable readline support.])])]) - AC_CHECK_HEADERS([readline/history.h], [], - [AC_CHECK_HEADERS([history.h], [], - [AC_MSG_ERROR([history header not found -Use --without-readline to disable readline support.])])]) -fi - -if test "$with_zlib" = yes; then - AC_CHECK_HEADER(zlib.h, [], [AC_MSG_ERROR([zlib header not found -Use --without-zlib to disable zlib support.])]) -fi - -if test "$with_krb4" = yes ; then - AC_CHECK_HEADER(krb.h, [], [AC_MSG_ERROR([header file is required for Kerberos 4])]) -fi - -if test "$with_krb5" = yes ; then - AC_CHECK_HEADER(krb5.h, [], [AC_MSG_ERROR([header file is required for Kerberos 5])]) - AC_CHECK_HEADER(com_err.h, [], [AC_MSG_ERROR([header file is required for Kerberos 5])]) -fi - -if test "$with_openssl" = yes ; then - AC_CHECK_HEADER([openssl/ssl.h], [], [AC_MSG_ERROR([header file is required for OpenSSL])]) - AC_CHECK_HEADER([openssl/err.h], [], [AC_MSG_ERROR([header file is required for OpenSSL])]) -fi - -if test "$with_pam" = yes ; then - AC_CHECK_HEADER([security/pam_appl.h], [], [AC_MSG_ERROR([header file is required for PAM])]) -fi - - -## -## Types, structures, compiler characteristics -## -m4_defun([AC_PROG_CC_STDC], []) dnl We don't want that. -AC_C_CONST -AC_C_INLINE -AC_C_STRINGIZE -PGAC_C_SIGNED -AC_C_VOLATILE -AC_STRUCT_TIMEZONE -PGAC_UNION_SEMUN -PGAC_STRUCT_SOCKADDR_UN - -AC_CHECK_TYPES([struct cmsgcred, struct fcred, struct sockcred], [], [], -[#include -#include -#include ]) - -if test "$with_zlib" = yes; then - # Check that defines z_streamp (versions before about 1.0.4 - # did not). While we could work around the lack of z_streamp, it - # seems unwise to encourage people to use such old zlib versions... - AC_CHECK_TYPE(z_streamp, [], [AC_MSG_ERROR([zlib version is too old -Use --without-zlib to disable zlib support.])], - [#include ]) -fi - -if test "$with_krb5" = yes; then -# Check for differences between MIT and Heimdal (KTH) releases - AC_CHECK_MEMBERS([krb5_ticket.enc_part2], [], - [AC_CHECK_MEMBERS([krb5_ticket.client], [], - [AC_MSG_ERROR([could not determine how to get client name from Kerberos 5 ticket])], - [#include ])], - [#include ]) - AC_CHECK_MEMBERS([krb5_error.text.data], [], - [AC_CHECK_MEMBER([krb5_error.e_data], [], - [AC_MSG_ERROR([could not determine how to extract Kerberos 5 error messages])], - [#include ])], - [#include ]) -fi - - -## -## Functions, global variables -## -PGAC_VAR_INT_TIMEZONE -AC_FUNC_ACCEPT_ARGTYPES -PGAC_FUNC_GETTIMEOFDAY_1ARG - -# SunOS doesn't handle negative byte comparisons properly with +/- return -PGAC_FUNC_MEMCMP - -AC_CHECK_FUNCS([cbrt fcvt getopt_long memmove pstat setproctitle setsid sigprocmask sysconf waitpid dlopen fdatasync]) - -AC_CHECK_DECLS(fdatasync, [], [], [#include ]) - -AC_CACHE_CHECK([for PS_STRINGS], [pgac_cv_var_PS_STRINGS], -[AC_TRY_LINK( -[#include -#include -], -[PS_STRINGS->ps_nargvstr = 1; -PS_STRINGS->ps_argvstr = "foo";], -[pgac_cv_var_PS_STRINGS=yes], -[pgac_cv_var_PS_STRINGS=no])]) -if test "$pgac_cv_var_PS_STRINGS" = yes ; then - AC_DEFINE([HAVE_PS_STRINGS], [], [Define if the PS_STRINGS thing exists.]) -fi - - -# We use our snprintf.c emulation if either snprintf() or vsnprintf() -# is missing. Yes, there are machines that have only one. We may -# also decide to use snprintf.c if snprintf() is present but does not -# have working "long long int" support -- see below. - -SNPRINTF='' -AC_CHECK_FUNCS(snprintf, [], SNPRINTF='snprintf.o') -AC_CHECK_FUNCS(vsnprintf, [], SNPRINTF='snprintf.o') -AC_SUBST(SNPRINTF) - - -# Check whether declares snprintf() and vsnprintf(); if not, -# include/c.h will provide declarations. Note this is a separate test -# from whether the functions exist in the C library --- there are -# systems that have the functions but don't bother to declare them :-( - -AC_CHECK_DECLS([snprintf, vsnprintf]) - - -# do this one the hard way in case isinf() is a macro -AC_CACHE_CHECK([for isinf], ac_cv_func_isinf, -[AC_TRY_LINK( -[#include -], -[double x = 0.0; int res = isinf(x);], -[ac_cv_func_isinf=yes], -[ac_cv_func_isinf=no])]) - -if test $ac_cv_func_isinf = yes ; then - AC_DEFINE(HAVE_ISINF, 1, [Define to 1 if you have isinf()]) - ISINF= -else - ISINF='isinf.o' - # Look for a way to implement a substitute for isinf() - AC_CHECK_FUNCS([fpclass fp_class fp_class_d class], [break]) -fi -AC_SUBST(ISINF) - - -AC_CHECK_FUNCS(getrusage, [], GETRUSAGE='getrusage.o') -AC_SUBST(GETRUSAGE) -AC_CHECK_FUNCS(srandom, [], SRANDOM='srandom.o') -AC_SUBST(SRANDOM) -AC_CHECK_FUNCS(gethostname, [], GETHOSTNAME='gethostname.o') -AC_SUBST(GETHOSTNAME) -AC_CHECK_FUNCS(random, [], MISSING_RANDOM='random.o') -AC_SUBST(MISSING_RANDOM) -AC_CHECK_FUNCS(inet_aton, [], INET_ATON='inet_aton.o') -AC_SUBST(INET_ATON) -AC_CHECK_FUNCS(strerror, [], STRERROR='strerror.o') -AC_SUBST(STRERROR) -AC_CHECK_FUNCS(strdup, [], STRDUP='../../utils/strdup.o') -AC_SUBST(STRDUP) -AC_CHECK_FUNCS(strtol, [], STRTOL='strtol.o') -AC_SUBST(STRTOL) -AC_CHECK_FUNCS(strtoul, [], STRTOUL='strtoul.o') -AC_SUBST(STRTOUL) -AC_CHECK_FUNCS(strcasecmp, [], STRCASECMP='strcasecmp.o') -AC_SUBST(STRCASECMP) - -# On HPUX 9, rint() is not in regular libm.a but in /lib/pa1.1/libm.a; -# this hackery with HPUXMATHLIB allows us to cope. -HPUXMATHLIB="" -case $host_cpu in - hppa1.1) - if [[ -r /lib/pa1.1/libm.a ]] ; then - HPUXMATHLIB="-L /lib/pa1.1 -lm" - fi ;; -esac -AC_SUBST(HPUXMATHLIB) - -AC_CHECK_FUNCS(rint, [], - [AC_CHECK_LIB(m, rint, AC_DEFINE(HAVE_RINT), , $HPUXMATHLIB)]) - - -if test "$with_readline" = yes; then - PGAC_VAR_RL_COMPLETION_APPEND_CHARACTER - AC_CHECK_FUNCS([rl_completion_matches rl_filename_completion_function]) -fi - - -dnl Cannot use AC_CHECK_FUNC because finite may be a macro -AC_MSG_CHECKING(for finite) -AC_TRY_LINK([#include ], - [int dummy=finite(1.0);], - [AC_DEFINE(HAVE_FINITE, 1, [Set to 1 if you have finite()]) -AC_MSG_RESULT(yes)], - [AC_MSG_RESULT(no)]) - -dnl Cannot use AC_CHECK_FUNC because sigsetjmp may be a macro -dnl (especially on GNU libc) -dnl See also comments in pg_config.h. -AC_MSG_CHECKING(for sigsetjmp) -AC_TRY_LINK([#include ], - [sigjmp_buf x; sigsetjmp(x, 1);], - [AC_DEFINE(HAVE_SIGSETJMP, 1, [Set to 1 if you have sigsetjmp()]) -AC_MSG_RESULT(yes)], - [AC_MSG_RESULT(no)]) - -AC_CHECK_FUNC(syslog, - [AC_CHECK_HEADER(syslog.h, - [AC_DEFINE(HAVE_SYSLOG, 1, [])], - [])]) - -AC_CACHE_CHECK([for optreset], pgac_cv_var_int_optreset, -[AC_TRY_LINK([#include ], - [extern int optreset; optreset = 1;], - [pgac_cv_var_int_optreset=yes], - [pgac_cv_var_int_optreset=no])]) -if test x"$pgac_cv_var_int_optreset" = x"yes"; then - AC_DEFINE(HAVE_INT_OPTRESET, 1, [Define to 1 if you have the global variable 'int optreset']) -fi - - -# This test makes sure that run tests work at all. Sometimes a shared -# library is found by the linker, but the runtime linker can't find it. -# This check should come after all modifications of compiler or linker -# variables, and before any other run tests. -AC_MSG_CHECKING([test program]) -AC_TRY_RUN([int main() { return 0; }], -[AC_MSG_RESULT(ok)], -[AC_MSG_RESULT(failed) -AC_MSG_ERROR([[ -*** Could not execute a simple test program. This may be a problem -*** related to locating shared libraries. Check the file 'config.log' -*** for the exact reason.]])], -[AC_MSG_RESULT([cross-compiling])]) - - -dnl Check to see if we have a working 64-bit integer type. -dnl This breaks down into two steps: -dnl (1) figure out if the compiler has a 64-bit int type with working -dnl arithmetic, and if so -dnl (2) see whether snprintf() can format the type correctly. (Currently, -dnl snprintf is the only library routine we really need for int8 support.) -dnl It's entirely possible to have a compiler that handles a 64-bit type -dnl when the C library doesn't; this is fairly likely when using gcc on -dnl an older platform, for example. -dnl If there is no native snprintf() or it does not handle the 64-bit type, -dnl we force our own version of snprintf() to be used instead. -dnl Note this test must be run after our initial check for snprintf/vsnprintf. - -PGAC_TYPE_64BIT_INT([long int]) - -if test x"$HAVE_LONG_INT_64" = x"no" ; then - PGAC_TYPE_64BIT_INT([long long int]) -fi - - -dnl If we need to use "long long int", figure out whether nnnLL notation works. - -if [[ x"$HAVE_LONG_LONG_INT_64" = xyes ]] ; then - AC_TRY_COMPILE([ -#define INT64CONST(x) x##LL -long long int foo = INT64CONST(0x1234567890123456); -], - [], - [AC_DEFINE(HAVE_LL_CONSTANTS, 1, [Define if you have LL constants])], - []) -fi - - -dnl If we found "long int" is 64 bits, assume snprintf handles it. -dnl If we found we need to use "long long int", better check. -dnl We cope with snprintfs that use either %lld or %qd as the format. -dnl If neither works, fall back to our own snprintf emulation (which we -dnl know uses %lld). - -if [[ x"$HAVE_LONG_LONG_INT_64" = xyes ]] ; then - if [[ x$SNPRINTF = x ]] ; then - AC_MSG_CHECKING(whether snprintf handles 'long long int' as %lld) - AC_TRY_RUN([#include -typedef long long int int64; -#define INT64_FORMAT "%lld" - -int64 a = 20000001; -int64 b = 40000005; - -int does_int64_snprintf_work() -{ - int64 c; - char buf[100]; - - if (sizeof(int64) != 8) - return 0; /* doesn't look like the right size */ - - c = a * b; - snprintf(buf, 100, INT64_FORMAT, c); - if (strcmp(buf, "800000140000005") != 0) - return 0; /* either multiply or snprintf is busted */ - return 1; -} -main() { - exit(! does_int64_snprintf_work()); -}], - [ AC_MSG_RESULT(yes) - INT64_FORMAT='"%lld"' - ], - [ AC_MSG_RESULT(no) - AC_MSG_CHECKING(whether snprintf handles 'long long int' as %qd) - AC_TRY_RUN([#include -typedef long long int int64; -#define INT64_FORMAT "%qd" - -int64 a = 20000001; -int64 b = 40000005; - -int does_int64_snprintf_work() -{ - int64 c; - char buf[100]; - - if (sizeof(int64) != 8) - return 0; /* doesn't look like the right size */ - - c = a * b; - snprintf(buf, 100, INT64_FORMAT, c); - if (strcmp(buf, "800000140000005") != 0) - return 0; /* either multiply or snprintf is busted */ - return 1; -} -main() { - exit(! does_int64_snprintf_work()); -}], - [ AC_MSG_RESULT(yes) - INT64_FORMAT='"%qd"' - ], - [ AC_MSG_RESULT(no) - # Force usage of our own snprintf, since system snprintf is broken - SNPRINTF='snprintf.o' - INT64_FORMAT='"%lld"' - ], - [ AC_MSG_RESULT(assuming not on target machine) - # Force usage of our own snprintf, since we cannot test foreign snprintf - SNPRINTF='snprintf.o' - INT64_FORMAT='"%lld"' - ]) ], - [ AC_MSG_RESULT(assuming not on target machine) - # Force usage of our own snprintf, since we cannot test foreign snprintf - SNPRINTF='snprintf.o' - INT64_FORMAT='"%lld"' - ]) - else - # here if we previously decided we needed to use our own snprintf - INT64_FORMAT='"%lld"' - fi -else - # Here if we are not using 'long long int' at all - INT64_FORMAT='"%ld"' -fi - -AC_DEFINE_UNQUOTED(INT64_FORMAT, $INT64_FORMAT, - [Define this as the appropriate snprintf format for 64-bit ints, if any]) - - -AC_CHECK_FUNCS([strtoll strtoq], [break]) -AC_CHECK_FUNCS([strtoull strtouq], [break]) - -# Check for one of atexit() or on_exit() -AC_CHECK_FUNCS(atexit, [], - [AC_CHECK_FUNCS(on_exit, [], - [AC_MSG_ERROR([neither atexit() nor on_exit() found])])]) - -dnl Need a #define for the size of Datum (unsigned long) - -AC_CHECK_SIZEOF([unsigned long]) -AC_DEFINE_UNQUOTED(SIZEOF_DATUM, $ac_cv_sizeof_unsigned_long, [sizeof(Datum) -- don't change]) - -# Determine memory alignment requirements for the basic C data types. - -PGAC_CHECK_ALIGNOF(short) -PGAC_CHECK_ALIGNOF(int) -PGAC_CHECK_ALIGNOF(long) -if test x"$HAVE_LONG_LONG_INT_64" = x"yes" ; then - PGAC_CHECK_ALIGNOF(long long int) -fi -PGAC_CHECK_ALIGNOF(double) - -# Compute maximum alignment of any basic type. -# We assume long's alignment is at least as strong as char, short, or int; -# but we must check long long (if it exists) and double. - -MAX_ALIGNOF=$pgac_cv_alignof_long -if test $MAX_ALIGNOF -lt $pgac_cv_alignof_double ; then - MAX_ALIGNOF=$pgac_cv_alignof_double -fi -if test x"$HAVE_LONG_LONG_INT_64" = xyes && test $MAX_ALIGNOF -lt $pgac_cv_alignof_long_long_int ; then - MAX_ALIGNOF="$pgac_cv_alignof_long_long_int" -fi -AC_DEFINE_UNQUOTED(MAXIMUM_ALIGNOF, $MAX_ALIGNOF, [Define as the maximum alignment requirement of any type]) - - -# Some platforms predefine the types int8, int16, etc. Only check -# a (hopefully) representative subset. -AC_CHECK_TYPES([int8, uint8, int64, uint64], [], [], -[#include -#ifdef HAVE_SUPPORTDEFS_H -#include -#endif]) - -# We also check for sig_atomic_t, which *should* be defined per ANSI -# C, but is missing on some old platforms. -AC_CHECK_TYPES([sig_atomic_t], [], [], [#include ]) - - -PGAC_FUNC_POSIX_SIGNALS - - -# Select semaphore implementation type. -if test x"$USE_NAMED_POSIX_SEMAPHORES" = x"1" ; then - AC_DEFINE(USE_NAMED_POSIX_SEMAPHORES, 1, [Define to select named POSIX semaphores]) - SEMA_IMPLEMENTATION="src/backend/port/posix_sema.c" -else - if test x"$USE_UNNAMED_POSIX_SEMAPHORES" = x"1" ; then - AC_DEFINE(USE_UNNAMED_POSIX_SEMAPHORES, 1, [Define to select unnamed POSIX semaphores]) - SEMA_IMPLEMENTATION="src/backend/port/posix_sema.c" - else - AC_DEFINE(USE_SYSV_SEMAPHORES, 1, [Define to select SysV-style semaphores]) - SEMA_IMPLEMENTATION="src/backend/port/sysv_sema.c" - fi -fi - - -# Select shared-memory implementation type. -AC_DEFINE(USE_SYSV_SHARED_MEMORY, 1, [Define to select SysV-style shared memory]) -SHMEM_IMPLEMENTATION="src/backend/port/sysv_shmem.c" - - -if test "$enable_nls" = yes ; then - PGAC_CHECK_GETTEXT -fi - -if test "$with_CXX" = yes; then - PGAC_CLASS_STRING - PGAC_CXX_NAMESPACE_STD -fi - - -# Check for Tcl configuration script tclConfig.sh -if test "$with_tcl" = yes; then - PGAC_PATH_TCLCONFIGSH([$with_tclconfig]) - PGAC_EVAL_TCLCONFIGSH([$TCL_CONFIG_SH], - [TCL_LIB_FILE,TCL_LIBS,TCL_LIB_SPEC,TCL_SHARED_BUILD]) - AC_SUBST(TCL_SHLIB_LD_LIBS)dnl don't want to double-evaluate that one -fi - -# Check for Tk configuration script tkConfig.sh -if test "$with_tk" = yes; then - PGAC_PATH_TKCONFIGSH([$with_tkconfig $with_tclconfig]) - PGAC_EVAL_TCLCONFIGSH([$TK_CONFIG_SH], [TK_LIBS,TK_LIB_SPEC,TK_XINCLUDES]) -fi - - -# -# Check for DocBook and tools -# -PGAC_PROG_NSGMLS -PGAC_PROG_JADE -PGAC_CHECK_DOCBOOK([3.1]) -PGAC_PATH_DOCBOOK_STYLESHEETS -PGAC_PATH_COLLATEINDEX -AC_CHECK_PROGS(SGMLSPL, sgmlspl) - - -# prepare build tree if outside source tree -# Note 1: test -ef might not exist, but it's more reliable than `pwd`. -# Note 2: /bin/pwd might be better than shell's built-in at getting -# a symlink-free name. -if test "$no_create" != yes; then - if ( test "$srcdir" -ef . ) >/dev/null 2>&1 || test "`cd $srcdir && /bin/pwd`" = "`/bin/pwd`"; then - : - else - AC_SUBST(vpath_build, yes) - _AS_ECHO_N([preparing build tree... ]) - pgac_abs_top_srcdir=`cd "$srcdir" && pwd` - $SHELL "$ac_aux_dir/prep_buildtree" "$pgac_abs_top_srcdir" "." \ - || AC_MSG_ERROR(failed) - AC_MSG_RESULT(done) - fi -fi - - -AC_CONFIG_FILES([GNUmakefile src/Makefile.global]) - -AC_CONFIG_LINKS([ - src/backend/port/dynloader.c:src/backend/port/dynloader/${template}.c - src/backend/port/pg_sema.c:${SEMA_IMPLEMENTATION} - src/backend/port/pg_shmem.c:${SHMEM_IMPLEMENTATION} - src/include/dynloader.h:src/backend/port/dynloader/${template}.h - src/include/pg_config_os.h:src/include/port/${template}.h - src/Makefile.port:src/makefiles/Makefile.${template} -]) - -AC_CONFIG_HEADERS([src/include/pg_config.h], -[ -# Update timestamp for pg_config.h (see Makefile.global) -echo >src/include/stamp-h -]) - -AC_OUTPUT diff --git a/contrib/Makefile b/contrib/Makefile deleted file mode 100644 index fc265216e1..0000000000 --- a/contrib/Makefile +++ /dev/null @@ -1,60 +0,0 @@ -# $Header: /cvsroot/pgsql/contrib/Makefile,v 1.31 2002/02/22 23:05:34 momjian Exp $ - -subdir = contrib -top_builddir = .. -include $(top_builddir)/src/Makefile.global - -WANTED_DIRS = \ - array \ - btree_gist \ - chkpass \ - cube \ - dbase \ - dblink \ - dbsize \ - earthdistance \ - findoidjoins \ - fulltextindex \ - fuzzystrmatch \ - intarray \ - isbn_issn \ - lo \ - miscutil \ - noupdate \ - oid2name \ - pg_controldata \ - pg_dumplo \ - pg_logger \ - pg_resetxlog \ - pgbench \ - pgcrypto \ - pgstattuple \ - rserv \ - rtree_gist \ - seg \ - spi \ - string \ - tips \ - tsearch \ - userlock \ - vacuumlo - -ifeq ($(with_java),yes) -WANTED_DIRS += retep -endif - -# Missing: -# ipc_check \ (does not have a makefile) -# mSQL-interface \ (requires msql installed) -# mac \ (does not have a makefile) -# mysql \ (does not have a makefile) -# oracle \ (does not have a makefile) -# start-scripts \ (does not have a makefile) -# tools \ (does not have a makefile) -# xml \ (non-standard makefile) - - -all install installdirs uninstall clean distclean maintainer-clean check installcheck: - @for dir in $(WANTED_DIRS); do \ - $(MAKE) -C $$dir $@ || exit; \ - done diff --git a/contrib/README b/contrib/README deleted file mode 100644 index 1ffef6df32..0000000000 --- a/contrib/README +++ /dev/null @@ -1,205 +0,0 @@ - -The PostgreSQL contrib tree ---------------------------- - -This subtree contains porting tools, analysis utilities, and plug-in -features that are not part of the core PostgreSQL system, mainly because -they address a limited audience or are too experimental to be part of -the main source tree. This does not preclude their usefulness. - -Each subdirectory contains a README file with information about the -module. Most items can be built with `gmake all' and installed with -`gmake install' in the usual fashion, after you have run the `configure' -script in the top-level directory. Some directories supply new -user-defined functions, operators, or types. After you have installed -the files you need to register the new entities in the database system -by running the commands in the supplied .sql file. For example, - - $ psql -d dbname -f module.sql - -See the PostgreSQL documentation for more information about this -procedure. - - -Index: ------- - -array - - Array iterator functions - by Massimo Dal Zotto - -btree_gist - - Support for emulating BTREE indexing in GiST - by Oleg Bartunov and Teodor Sigaev - -chkpass - - An auto-encrypted password datatype - by D'Arcy J.M. Cain - -cube - - Multidimensional-cube datatype (GiST indexing example) - by Gene Selkov, Jr. - -dbase - - Converts from dbase/xbase to PostgreSQL - by Maarten.Boekhold , - Frank Koormann , - Ivan Baldo - -dblink - - Allows remote query execution - by Joe Conway - -dbsize - - Reports database and table disk space - by Peter Eisentraut - -earthdistance - - Operator for computing earth distance for two points - by Hal Snyder - -findoidjoins - - Finds the joins used by oid columns by examining the actual - values in the oid columns and row oids. - by Bruce Momjian - -fulltextindex - - Full text indexing using triggers - by Maarten Boekhold - -fuzzystrmatch - - Levenshtein, metaphone, and soundex fuzzy string matching - by Joe Conway , Joel Burton - -intagg - - Integer aggregator - by mlw - - -intarray - - Index support for arrays of int4, using GiST - by Teodor Sigaev and Oleg Bartunov - -ipc_check - - Simple test script to help in configuring IPC. - FreeBSD only, for now. - -isbn_issn - - PostgreSQL type extensions for ISBN (books) and ISSN (serials) - by Garrett A. Wollman - -lo - - Large Object maintenance - by Peter Mount - -mSQL-interface - - mSQL API translation library - by Aldrin Leal - -mac - - Support functions for MAC address types - by Lawrence E. Rosenman - -miscutil - - PostgreSQL assert checking and various utility functions - by Massimo Dal Zotto - -mysql - - utility to convert MySQL schema dumps to SQL92 and PostgreSQL - by Thomas Lockhart - Max Rudensky - Valentine Danilchuk - -noupdate - - trigger to prevent updates on single columns - -oid2name - - maps numeric files to table names - by B Palmer - -oracle - - converts Oracle database schema to PostgreSQL - by Gilles Darold - -pg_controldata - - Dump contents of pg_control (database master file) - by Oliver Elphick - -pg_dumplo - - Dump large objects - by Karel Zak - -pg_logger - - Stdin-to-syslog gateway for PostgreSQL - by Nathan Myers - -pg_resetxlog - - Reset the WAL log (pg_xlog) to recover from crash or format change - by Tom Lane - -pg_upgrade - - Upgrade from previous PostgreSQL version without pg_dump/reload - by Bruce Momjian - -pgbench - - TPC-B like benchmarking tool - by Tatsuo Ishii - -pgcrypto - - Cryptographic functions - by Marko Kreen - -pgstattuple - - A function returns the percentage of "dead" tuples in a table - by Tatsuo Ishii - -retep - - tools to build retep tools packages - by Peter T Mount - -rserv - - replication server - by Vadim B. Mikheev - -rtree_gist - - Support for emulating RTREE indexing in GiST - by Oleg Bartunov and Teodor Sigaev - -seg - - Confidence-interval datatype (GiST indexing example) - by Gene Selkov, Jr. - -spi - - Various trigger functions, examples for using SPI. - -start-scripts - - Scripts for starting the server at boot time. - -string - - C-like input/output conversion routines for strings - by Massimo Dal Zotto - -tips/apache_logging - - Getting Apache to log to PostgreSQL - by Terry Mackintosh - -tools - - Assorted developer tools - by Massimo Dal Zotto - -tsearch - - Full-text-index support using GiST - by Teodor Sigaev and Oleg Bartunov - . - -userlock - - User locks - by Massimo Dal Zotto - -vacuumlo - - Remove orphaned large objects - by Peter T Mount - -xml - - Storing XML in PostgreSQL - by John Gray diff --git a/contrib/array/Makefile b/contrib/array/Makefile deleted file mode 100644 index 324fd2660a..0000000000 --- a/contrib/array/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -# $Header: /cvsroot/pgsql/contrib/array/Attic/Makefile,v 1.16 2001/09/06 10:49:29 petere Exp $ - -subdir = contrib/array -top_builddir = ../.. -include $(top_builddir)/src/Makefile.global - -MODULES = array_iterator -DATA_built = array_iterator.sql -DOCS = README.array_iterator - -include $(top_srcdir)/contrib/contrib-global.mk diff --git a/contrib/array/README.array_iterator b/contrib/array/README.array_iterator deleted file mode 100644 index b072ebe397..0000000000 --- a/contrib/array/README.array_iterator +++ /dev/null @@ -1,49 +0,0 @@ -Array iterator functions, by Massimo Dal Zotto -Copyright (C) 1999, Massimo Dal Zotto - -This software is distributed under the GNU General Public License -either version 2, or (at your option) any later version. - - -This loadable module defines a new class of functions which take -an array and a scalar value, iterate a scalar operator over the -elements of the array and the value, and compute a result as -the logical OR or AND of the iteration results. -For example array_int4eq returns true if some of the elements -of an array of int4 is equal to the given value: - - array_int4eq({1,2,3}, 1) --> true - array_int4eq({1,2,3}, 4) --> false - -If we have defined T array types and O scalar operators we can -define T x O x 2 array functions, each of them has a name like -"array_[all_]" and takes an array of type T -iterating the operator O over all the elements. Note however -that some of the possible combination are invalid, for example -the array_int4_like because there is no like operator for int4. - -We can then define new operators based on these functions and use -them to write queries with qualification clauses based on the -values of some of the elements of an array. -For example to select rows having some or all element of an array -attribute equal to a given value or matching a regular expression: - - create table t(id int4[], txt text[]); - - -- select tuples with some id element equal to 123 - select * from t where t.id *= 123; - - -- select tuples with some txt element matching '[a-z]' - select * from t where t.txt *~ '[a-z]'; - - -- select tuples with all txt elements matching '^[A-Z]' - select * from t where t.txt[1:3] **~ '^[A-Z]'; - -The scheme is quite general, each operator which operates on a base type -can be iterated over the elements of an array. It seem to work well but -defining each new operators requires writing a different C function. -Furthermore in each function there are two hardcoded OIDs which reference -a base type and a procedure. Not very portable. Can anyone suggest a -better and more portable way to do it ? - -See also array_iterator.sql for an example on how to use this module. diff --git a/contrib/array/array_iterator.c b/contrib/array/array_iterator.c deleted file mode 100644 index 8a2455b673..0000000000 --- a/contrib/array/array_iterator.c +++ /dev/null @@ -1,372 +0,0 @@ -/* - * array_iterator.c -- - * - * This file defines a new class of operators which take an - * array and a scalar value, iterate a scalar operator over the - * elements of the array and the value and compute a result as - * the logical OR or AND of the iteration results. - * - * Copyright (C) 1999, Massimo Dal Zotto - * ported to postgreSQL 6.3.2,added oid_functions, 18.1.1999, - * Tobias Gabele - * - * This software is distributed under the GNU General Public License - * either version 2, or (at your option) any later version. - */ - -#include "postgres.h" - -#include -#include -#include -#include - -#include "access/tupmacs.h" -#include "access/xact.h" -#include "fmgr.h" -#include "miscadmin.h" -#include "utils/array.h" -#include "utils/builtins.h" -#include "utils/memutils.h" -#include "utils/lsyscache.h" - -#include "array_iterator.h" - - -static int32 -array_iterator(Oid elemtype, Oid proc, int and, ArrayType *array, Datum value) -{ - int16 typlen; - bool typbyval; - int nitems, - i; - Datum result; - int ndim, - *dim; - char *p; - FmgrInfo finfo; - - /* Sanity checks */ - if (array == (ArrayType *) NULL) - { - /* elog(WARNING, "array_iterator: array is null"); */ - return (0); - } - - /* detoast input if necessary */ - array = DatumGetArrayTypeP(PointerGetDatum(array)); - - ndim = ARR_NDIM(array); - dim = ARR_DIMS(array); - nitems = ArrayGetNItems(ndim, dim); - if (nitems == 0) - return (0); - - /* Lookup element type information */ - get_typlenbyval(elemtype, &typlen, &typbyval); - - /* Lookup the function entry point */ - fmgr_info(proc, &finfo); - if (finfo.fn_nargs != 2) - { - elog(ERROR, "array_iterator: proc %u does not take 2 args", proc); - return (0); - } - - /* Scan the array and apply the operator to each element */ - result = BoolGetDatum(false); - p = ARR_DATA_PTR(array); - for (i = 0; i < nitems; i++) - { - Datum itemvalue; - - itemvalue = fetch_att(p, typbyval, typlen); - - if (typlen > 0) - p += typlen; - else - p += INTALIGN(*(int32 *) p); - - result = FunctionCall2(&finfo, itemvalue, value); - - if (DatumGetBool(result)) - { - if (!and) - return (1); - } - else - { - if (and) - return (0); - } - } - - if (and && DatumGetBool(result)) - return (1); - else - return (0); -} - -/* - * Iterator functions for type _text - */ - -int32 -array_texteq(ArrayType *array, char *value) -{ - return array_iterator((Oid) 25, /* text */ - (Oid) 67, /* texteq */ - 0, /* logical or */ - array, (Datum) value); -} - -int32 -array_all_texteq(ArrayType *array, char *value) -{ - return array_iterator((Oid) 25, /* text */ - (Oid) 67, /* texteq */ - 1, /* logical and */ - array, (Datum) value); -} - -int32 -array_textregexeq(ArrayType *array, char *value) -{ - return array_iterator((Oid) 25, /* text */ - (Oid) 1254, /* textregexeq */ - 0, /* logical or */ - array, (Datum) value); -} - -int32 -array_all_textregexeq(ArrayType *array, char *value) -{ - return array_iterator((Oid) 25, /* text */ - (Oid) 1254, /* textregexeq */ - 1, /* logical and */ - array, (Datum) value); -} - -/* - * Iterator functions for type _varchar. Note that the regexp - * operators take the second argument of type text. - */ - -int32 -array_varchareq(ArrayType *array, char *value) -{ - return array_iterator((Oid) 1043, /* varchar */ - (Oid) 1070, /* varchareq */ - 0, /* logical or */ - array, (Datum) value); -} - -int32 -array_all_varchareq(ArrayType *array, char *value) -{ - return array_iterator((Oid) 1043, /* varchar */ - (Oid) 1070, /* varchareq */ - 1, /* logical and */ - array, (Datum) value); -} - -int32 -array_varcharregexeq(ArrayType *array, char *value) -{ - return array_iterator((Oid) 1043, /* varchar */ - (Oid) 1254, /* textregexeq */ - 0, /* logical or */ - array, (Datum) value); -} - -int32 -array_all_varcharregexeq(ArrayType *array, char *value) -{ - return array_iterator((Oid) 1043, /* varchar */ - (Oid) 1254, /* textregexeq */ - 1, /* logical and */ - array, (Datum) value); -} - -/* - * Iterator functions for type _bpchar. Note that the regexp - * operators take the second argument of type text. - */ - -int32 -array_bpchareq(ArrayType *array, char *value) -{ - return array_iterator((Oid) 1042, /* bpchar */ - (Oid) 1048, /* bpchareq */ - 0, /* logical or */ - array, (Datum) value); -} - -int32 -array_all_bpchareq(ArrayType *array, char *value) -{ - return array_iterator((Oid) 1042, /* bpchar */ - (Oid) 1048, /* bpchareq */ - 1, /* logical and */ - array, (Datum) value); -} - -int32 -array_bpcharregexeq(ArrayType *array, char *value) -{ - return array_iterator((Oid) 1042, /* bpchar */ - (Oid) 1254, /* textregexeq */ - 0, /* logical or */ - array, (Datum) value); -} - -int32 -array_all_bpcharregexeq(ArrayType *array, char *value) -{ - return array_iterator((Oid) 1042, /* bpchar */ - (Oid) 1254, /* textregexeq */ - 1, /* logical and */ - array, (Datum) value); -} - -/* - * Iterator functions for type _int4 - */ - -int32 -array_int4eq(ArrayType *array, int4 value) -{ - return array_iterator((Oid) 23, /* int4 */ - (Oid) 65, /* int4eq */ - 0, /* logical or */ - array, (Datum) value); -} - -int32 -array_all_int4eq(ArrayType *array, int4 value) -{ - return array_iterator((Oid) 23, /* int4 */ - (Oid) 65, /* int4eq */ - 1, /* logical and */ - array, (Datum) value); -} - -int32 -array_int4ne(ArrayType *array, int4 value) -{ - return array_iterator((Oid) 23, /* int4 */ - (Oid) 144, /* int4ne */ - 0, /* logical or */ - array, (Datum) value); -} - -int32 -array_all_int4ne(ArrayType *array, int4 value) -{ - return array_iterator((Oid) 23, /* int4 */ - (Oid) 144, /* int4ne */ - 1, /* logical and */ - array, (Datum) value); -} - -int32 -array_int4gt(ArrayType *array, int4 value) -{ - return array_iterator((Oid) 23, /* int4 */ - (Oid) 147, /* int4gt */ - 0, /* logical or */ - array, (Datum) value); -} - -int32 -array_all_int4gt(ArrayType *array, int4 value) -{ - return array_iterator((Oid) 23, /* int4 */ - (Oid) 147, /* int4gt */ - 1, /* logical and */ - array, (Datum) value); -} - -int32 -array_int4ge(ArrayType *array, int4 value) -{ - return array_iterator((Oid) 23, /* int4 */ - (Oid) 150, /* int4ge */ - 0, /* logical or */ - array, (Datum) value); -} - -int32 -array_all_int4ge(ArrayType *array, int4 value) -{ - return array_iterator((Oid) 23, /* int4 */ - (Oid) 150, /* int4ge */ - 1, /* logical and */ - array, (Datum) value); -} - -int32 -array_int4lt(ArrayType *array, int4 value) -{ - return array_iterator((Oid) 23, /* int4 */ - (Oid) 66, /* int4lt */ - 0, /* logical or */ - array, (Datum) value); -} - -int32 -array_all_int4lt(ArrayType *array, int4 value) -{ - return array_iterator((Oid) 23, /* int4 */ - (Oid) 66, /* int4lt */ - 1, /* logical and */ - array, (Datum) value); -} - -int32 -array_int4le(ArrayType *array, int4 value) -{ - return array_iterator((Oid) 23, /* int4 */ - (Oid) 149, /* int4le */ - 0, /* logical or */ - array, (Datum) value); -} - -int32 -array_all_int4le(ArrayType *array, int4 value) -{ - return array_iterator((Oid) 23, /* int4 */ - (Oid) 149, /* int4le */ - 1, /* logical and */ - array, (Datum) value); -} - -/* new tobias gabele 1999 */ - -int32 -array_oideq(ArrayType *array, Oid value) -{ - return array_iterator((Oid) 26, /* oid */ - (Oid) 184, /* oideq */ - 0, /* logical or */ - array, (Datum) value); -} - -int32 -array_all_oidne(ArrayType *array, Oid value) -{ - return array_iterator((Oid) 26, /* int4 */ - (Oid) 185, /* oidne */ - 1, /* logical and */ - array, (Datum) value); -} - -/* end of file */ - -/* - * Local Variables: - * tab-width: 4 - * c-indent-level: 4 - * c-basic-offset: 4 - * End: - */ diff --git a/contrib/array/array_iterator.h b/contrib/array/array_iterator.h deleted file mode 100644 index 7889fdc0b2..0000000000 --- a/contrib/array/array_iterator.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef ARRAY_ITERATOR_H -#define ARRAY_ITERATOR_H - -static int32 array_iterator(Oid elemtype, Oid proc, int and, - ArrayType *array, Datum value); - -int32 array_texteq(ArrayType *array, char *value); -int32 array_all_texteq(ArrayType *array, char *value); -int32 array_textregexeq(ArrayType *array, char *value); -int32 array_all_textregexeq(ArrayType *array, char *value); - -int32 array_varchareq(ArrayType *array, char *value); -int32 array_all_varchareq(ArrayType *array, char *value); -int32 array_varcharregexeq(ArrayType *array, char *value); -int32 array_all_varcharregexeq(ArrayType *array, char *value); - -int32 array_bpchareq(ArrayType *array, char *value); -int32 array_all_bpchareq(ArrayType *array, char *value); -int32 array_bpcharregexeq(ArrayType *array, char *value); -int32 array_all_bpcharregexeq(ArrayType *array, char *value); - -int32 array_int4eq(ArrayType *array, int4 value); -int32 array_all_int4eq(ArrayType *array, int4 value); -int32 array_int4ne(ArrayType *array, int4 value); -int32 array_all_int4ne(ArrayType *array, int4 value); -int32 array_int4gt(ArrayType *array, int4 value); -int32 array_all_int4gt(ArrayType *array, int4 value); -int32 array_int4ge(ArrayType *array, int4 value); -int32 array_all_int4ge(ArrayType *array, int4 value); -int32 array_int4lt(ArrayType *array, int4 value); -int32 array_all_int4lt(ArrayType *array, int4 value); -int32 array_int4le(ArrayType *array, int4 value); -int32 array_all_int4le(ArrayType *array, int4 value); - -int32 array_oideq(ArrayType *array, Oid value); -int32 array_all_oidne(ArrayType *array, Oid value); -#endif - -/* - * Local Variables: - * tab-width: 4 - * c-indent-level: 4 - * c-basic-offset: 4 - * End: - */ diff --git a/contrib/array/array_iterator.sql.in b/contrib/array/array_iterator.sql.in deleted file mode 100644 index d4182b112e..0000000000 --- a/contrib/array/array_iterator.sql.in +++ /dev/null @@ -1,253 +0,0 @@ --- SQL code to define the new array iterator functions and operators - --- define the array operators *=, **=, *~ and **~ for type _text --- -create function array_texteq(_text, text) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_all_texteq(_text, text) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_textregexeq(_text, text) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_all_textregexeq(_text, text) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create operator *= ( - leftarg=_text, - rightarg=text, - procedure=array_texteq); - -create operator **= ( - leftarg=_text, - rightarg=text, - procedure=array_all_texteq); - -create operator *~ ( - leftarg=_text, - rightarg=text, - procedure=array_textregexeq); - -create operator **~ ( - leftarg=_text, - rightarg=text, - procedure=array_all_textregexeq); - - --- define the array operators *=, **=, *~ and **~ for type _varchar --- --- NOTE: "varchar" is also a reserved word and must be quoted. --- -create function array_varchareq(_varchar, varchar) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_all_varchareq(_varchar, varchar) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_varcharregexeq(_varchar, varchar) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_all_varcharregexeq(_varchar, varchar) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create operator *= ( - leftarg=_varchar, - rightarg="varchar", - procedure=array_varchareq); - -create operator **= ( - leftarg=_varchar, - rightarg="varchar", - procedure=array_all_varchareq); - -create operator *~ ( - leftarg=_varchar, - rightarg="varchar", - procedure=array_varcharregexeq); - -create operator **~ ( - leftarg=_varchar, - rightarg="varchar", - procedure=array_all_varcharregexeq); - - --- define the array operators *=, **=, *~ and **~ for type _bpchar --- -create function array_bpchareq(_bpchar, bpchar) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_all_bpchareq(_bpchar, bpchar) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_bpcharregexeq(_bpchar, bpchar) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_all_bpcharregexeq(_bpchar, bpchar) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create operator *= ( - leftarg=_bpchar, - rightarg=bpchar, - procedure=array_bpchareq); - -create operator **= ( - leftarg=_bpchar, - rightarg=bpchar, - procedure=array_all_bpchareq); - -create operator *~ ( - leftarg=_bpchar, - rightarg=bpchar, - procedure=array_bpcharregexeq); - -create operator **~ ( - leftarg=_bpchar, - rightarg=bpchar, - procedure=array_all_bpcharregexeq); - - --- define the array operators *=, **=, *> and **> for type _int4 --- -create function array_int4eq(_int4, int4) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_all_int4eq(_int4, int4) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_int4ne(_int4, int4) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_all_int4ne(_int4, int4) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_int4gt(_int4, int4) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_all_int4gt(_int4, int4) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_int4ge(_int4, int4) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_all_int4ge(_int4, int4) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_int4lt(_int4, int4) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_all_int4lt(_int4, int4) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_int4le(_int4, int4) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_all_int4le(_int4, int4) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create operator *= ( - leftarg=_int4, - rightarg=int4, - procedure=array_int4eq); - -create operator **= ( - leftarg=_int4, - rightarg=int4, - procedure=array_all_int4eq); - -create operator *<> ( - leftarg=_int4, - rightarg=int4, - procedure=array_int4ne); - -create operator **<> ( - leftarg=_int4, - rightarg=int4, - procedure=array_all_int4ne); - -create operator *> ( - leftarg=_int4, - rightarg=int4, - procedure=array_int4gt); - -create operator **> ( - leftarg=_int4, - rightarg=int4, - procedure=array_all_int4gt); - -create operator *>= ( - leftarg=_int4, - rightarg=int4, - procedure=array_int4ge); - -create operator **>= ( - leftarg=_int4, - rightarg=int4, - procedure=array_all_int4ge); - -create operator *< ( - leftarg=_int4, - rightarg=int4, - procedure=array_int4lt); - -create operator **< ( - leftarg=_int4, - rightarg=int4, - procedure=array_all_int4lt); - -create operator *<= ( - leftarg=_int4, - rightarg=int4, - procedure=array_int4le); - -create operator **<= ( - leftarg=_int4, - rightarg=int4, - procedure=array_all_int4le); - --- define the array operators *=, **<> for type _oid (added tobias 1. 1999) --- -create function array_oideq(_oid, oid) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create function array_all_oidne(_oid, oid) returns bool - as 'MODULE_PATHNAME' - language 'c'; - -create operator *= ( - leftarg=_oid, - rightarg=oid, - procedure=array_oideq); - -create operator **<> ( - leftarg=_oid, - rightarg=oid, - procedure=array_all_oidne); - - --- end of file diff --git a/contrib/btree_gist/Makefile b/contrib/btree_gist/Makefile deleted file mode 100644 index 03aa1479be..0000000000 --- a/contrib/btree_gist/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -# $Header: /cvsroot/pgsql/contrib/btree_gist/Makefile,v 1.3 2001/09/06 10:49:29 petere Exp $ - -subdir = contrib/btree_gist -top_builddir = ../.. -include $(top_builddir)/src/Makefile.global - -MODULES = btree_gist -DATA_built = btree_gist.sql -DOCS = README.btree_gist -REGRESS = btree_gist - -include $(top_srcdir)/contrib/contrib-global.mk diff --git a/contrib/btree_gist/README.btree_gist b/contrib/btree_gist/README.btree_gist deleted file mode 100644 index d61db62c3c..0000000000 --- a/contrib/btree_gist/README.btree_gist +++ /dev/null @@ -1,31 +0,0 @@ -This is B-Tree implementation using GiST for int4 and -timestamp types. - -All work was done by Teodor Sigaev (teodor@stack.net) and Oleg Bartunov -(oleg@sai.msu.su). See http://www.sai.msu.su/~megera/postgres/gist -for additional information. - -NOTICE: - This version will works only with postgresql version 7.2 and above - because of changes in interface of function calling and in system - tables. - -INSTALLATION: - - gmake - gmake install - -- load functions - psql < btree_gist.sql - -REGRESSION TEST: - - gmake installcheck - -EXAMPLE USAGE: - - create table test (a int4); - -- create index - create index testidx on test using gist (a); - -- query - select * from test where a < 10; - diff --git a/contrib/btree_gist/btree_gist.c b/contrib/btree_gist/btree_gist.c deleted file mode 100644 index c4eb852213..0000000000 --- a/contrib/btree_gist/btree_gist.c +++ /dev/null @@ -1,583 +0,0 @@ -#include "postgres.h" - -#include "access/gist.h" -#include "access/itup.h" -#include "access/nbtree.h" - -#include "utils/palloc.h" -#include "utils/geo_decls.h" -#include "utils/elog.h" - -typedef int (*CMPFUNC) (const void *a, const void *b); -typedef void (*BINARY_UNION) (Datum *, char *); - -typedef struct intkey -{ - int4 lower; - int4 upper; -} INT4KEY; - -typedef struct tskey -{ - Timestamp lower; - Timestamp upper; -} TSKEY; - -/* used for sorting */ -typedef struct rix -{ - int index; - char *r; -} RIX; - -/* -** int4key in/out -*/ -PG_FUNCTION_INFO_V1(int4key_in); -PG_FUNCTION_INFO_V1(int4key_out); -Datum int4key_in(PG_FUNCTION_ARGS); -Datum int4key_out(PG_FUNCTION_ARGS); - -/* -** tskey in/out -*/ -PG_FUNCTION_INFO_V1(tskey_in); -PG_FUNCTION_INFO_V1(tskey_out); -Datum tskey_in(PG_FUNCTION_ARGS); -Datum tskey_out(PG_FUNCTION_ARGS); - -/* -** int4 ops -*/ -PG_FUNCTION_INFO_V1(gint4_compress); -PG_FUNCTION_INFO_V1(gint4_union); -PG_FUNCTION_INFO_V1(gint4_picksplit); -PG_FUNCTION_INFO_V1(gint4_consistent); -PG_FUNCTION_INFO_V1(gint4_penalty); -PG_FUNCTION_INFO_V1(gint4_same); - -Datum gint4_compress(PG_FUNCTION_ARGS); -Datum gint4_union(PG_FUNCTION_ARGS); -Datum gint4_picksplit(PG_FUNCTION_ARGS); -Datum gint4_consistent(PG_FUNCTION_ARGS); -Datum gint4_penalty(PG_FUNCTION_ARGS); -Datum gint4_same(PG_FUNCTION_ARGS); - -static void gint4_binary_union(Datum *r1, char *r2); -static int int4key_cmp(const void *a, const void *b); - -/* -** timestamp ops -*/ -PG_FUNCTION_INFO_V1(gts_compress); -PG_FUNCTION_INFO_V1(gts_union); -PG_FUNCTION_INFO_V1(gts_picksplit); -PG_FUNCTION_INFO_V1(gts_consistent); -PG_FUNCTION_INFO_V1(gts_penalty); -PG_FUNCTION_INFO_V1(gts_same); - -Datum gts_compress(PG_FUNCTION_ARGS); -Datum gts_union(PG_FUNCTION_ARGS); -Datum gts_picksplit(PG_FUNCTION_ARGS); -Datum gts_consistent(PG_FUNCTION_ARGS); -Datum gts_penalty(PG_FUNCTION_ARGS); -Datum gts_same(PG_FUNCTION_ARGS); - -static void gts_binary_union(Datum *r1, char *r2); -static int tskey_cmp(const void *a, const void *b); - -#define TimestampGetDatumFast(X) Float8GetDatumFast(X) - -/* define for comparison */ -#define TSGE( ts1, ts2 ) (DatumGetBool(DirectFunctionCall2( \ - timestamp_ge, \ - PointerGetDatum( ts1 ), \ - PointerGetDatum( ts2 ) \ -))) -#define TSGT( ts1, ts2 ) (DatumGetBool(DirectFunctionCall2( \ - timestamp_gt, \ - PointerGetDatum( ts1 ), \ - PointerGetDatum( ts2 ) \ -))) -#define TSEQ( ts1, ts2 ) (DatumGetBool(DirectFunctionCall2( \ - timestamp_eq, \ - PointerGetDatum( ts1 ), \ - PointerGetDatum( ts2 ) \ -))) -#define TSLT( ts1, ts2 ) (DatumGetBool(DirectFunctionCall2( \ - timestamp_lt, \ - PointerGetDatum( ts1 ), \ - PointerGetDatum( ts2 ) \ -))) -#define TSLE( ts1, ts2 ) (DatumGetBool(DirectFunctionCall2( \ - timestamp_le, \ - PointerGetDatum( ts1 ), \ - PointerGetDatum( ts2 ) \ -))) - -/* -** Common btree-function (for all ops) -*/ -static GIST_SPLITVEC *btree_picksplit(bytea *entryvec, GIST_SPLITVEC *v, - BINARY_UNION bu, CMPFUNC cmp); - -PG_FUNCTION_INFO_V1(btree_decompress); -Datum btree_decompress(PG_FUNCTION_ARGS); - -/************************************************** - * int4 ops - **************************************************/ - -Datum -gint4_compress(PG_FUNCTION_ARGS) -{ - GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0); - GISTENTRY *retval; - - if (entry->leafkey) - { - INT4KEY *r = palloc(sizeof(INT4KEY)); - - retval = palloc(sizeof(GISTENTRY)); - r->lower = r->upper = (entry->key); - - gistentryinit(*retval, PointerGetDatum(r), entry->rel, entry->page, - entry->offset, sizeof(INT4KEY), FALSE); - - } - else - retval = entry; - PG_RETURN_POINTER(retval); -} - -Datum -gint4_consistent(PG_FUNCTION_ARGS) -{ - GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0); - int4 query = PG_GETARG_INT32(1); - INT4KEY *kkk = (INT4KEY *) DatumGetPointer(entry->key); - StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2); - bool retval; - - switch (strategy) - { - case BTLessEqualStrategyNumber: - retval = (query >= kkk->lower); - break; - case BTLessStrategyNumber: - if (GIST_LEAF(entry)) - retval = (query > kkk->lower); - else - retval = (query >= kkk->lower); - break; - case BTEqualStrategyNumber: - /* in leaf page kkk->lower always = kkk->upper */ - if (GIST_LEAF(entry)) - retval = (query == kkk->lower); - else - retval = (kkk->lower <= query && query <= kkk->upper); - break; - case BTGreaterStrategyNumber: - if (GIST_LEAF(entry)) - retval = (query < kkk->upper); - else - retval = (query <= kkk->upper); - break; - case BTGreaterEqualStrategyNumber: - retval = (query <= kkk->upper); - break; - default: - retval = FALSE; - } - PG_RETURN_BOOL(retval); -} - -Datum -gint4_union(PG_FUNCTION_ARGS) -{ - bytea *entryvec = (bytea *) PG_GETARG_POINTER(0); - int i, - numranges; - INT4KEY *cur, - *out = palloc(sizeof(INT4KEY)); - - numranges = (VARSIZE(entryvec) - VARHDRSZ) / sizeof(GISTENTRY); - *(int *) PG_GETARG_POINTER(1) = sizeof(INT4KEY); - - cur = (INT4KEY *) DatumGetPointer((((GISTENTRY *) (VARDATA(entryvec)))[0].key)); - out->lower = cur->lower; - out->upper = cur->upper; - - for (i = 1; i < numranges; i++) - { - cur = (INT4KEY *) DatumGetPointer((((GISTENTRY *) (VARDATA(entryvec)))[i].key)); - if (out->lower > cur->lower) - out->lower = cur->lower; - if (out->upper < cur->upper) - out->upper = cur->upper; - } - - PG_RETURN_POINTER(out); -} - -Datum -gint4_penalty(PG_FUNCTION_ARGS) -{ - INT4KEY *origentry = (INT4KEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(0))->key); - INT4KEY *newentry = (INT4KEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(1))->key); - float *result = (float *) PG_GETARG_POINTER(2); - - *result = Max(newentry->upper - origentry->upper, 0) + - Max(origentry->lower - newentry->lower, 0); - - PG_RETURN_POINTER(result); -} - -Datum -gint4_picksplit(PG_FUNCTION_ARGS) -{ - PG_RETURN_POINTER(btree_picksplit( - (bytea *) PG_GETARG_POINTER(0), - (GIST_SPLITVEC *) PG_GETARG_POINTER(1), - gint4_binary_union, - int4key_cmp - )); -} - -Datum -gint4_same(PG_FUNCTION_ARGS) -{ - INT4KEY *b1 = (INT4KEY *) PG_GETARG_POINTER(0); - INT4KEY *b2 = (INT4KEY *) PG_GETARG_POINTER(1); - bool *result = (bool *) PG_GETARG_POINTER(2); - - *result = (b1->lower == b2->lower && b1->upper == b2->upper) ? TRUE : FALSE; - PG_RETURN_POINTER(result); -} - -static void -gint4_binary_union(Datum *r1, char *r2) -{ - INT4KEY *b1; - INT4KEY *b2 = (INT4KEY *) r2; - - if (!DatumGetPointer(*r1)) - { - *r1 = PointerGetDatum(palloc(sizeof(INT4KEY))); - b1 = (INT4KEY *) DatumGetPointer(*r1); - b1->upper = b2->upper; - b1->lower = b2->lower; - } - else - { - b1 = (INT4KEY *) DatumGetPointer(*r1); - - b1->lower = (b1->lower > b2->lower) ? - b2->lower : b1->lower; - b1->upper = (b1->upper > b2->upper) ? - b1->upper : b2->upper; - } -} - - -static int -int4key_cmp(const void *a, const void *b) -{ - return (((INT4KEY *) (((RIX *) a)->r))->lower - ((INT4KEY *) (((RIX *) b)->r))->lower); -} - -/************************************************** - * timestamp ops - **************************************************/ - -Datum -gts_compress(PG_FUNCTION_ARGS) -{ - GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0); - GISTENTRY *retval; - - if (entry->leafkey) - { - TSKEY *r = (TSKEY *) palloc(sizeof(TSKEY)); - retval = palloc(sizeof(GISTENTRY)); - r->lower = r->upper = *(Timestamp *) (entry->key); - gistentryinit(*retval, PointerGetDatum(r), - entry->rel, entry->page, - entry->offset, sizeof(TSKEY), FALSE); - } - else - retval = entry; - PG_RETURN_POINTER(retval); -} - -Datum -gts_consistent(PG_FUNCTION_ARGS) -{ - GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0); - Timestamp *query = (Timestamp *) PG_GETARG_POINTER(1); - StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2); - bool retval; - TSKEY *key; - - /* - * * if entry is not leaf, use gbox_internal_consistent, * else use - * gbox_leaf_consistent - */ - if (!entry->key) - return FALSE; - key = (TSKEY *) DatumGetPointer(entry->key); - - switch (strategy) - { - case BTLessEqualStrategyNumber: - retval = TSGE(query, &(key->lower)); - break; - case BTLessStrategyNumber: - if (GIST_LEAF(entry)) - retval = TSGT(query, &(key->lower)); - else - retval = TSGE(query, &(key->lower)); - break; - case BTEqualStrategyNumber: - /* in leaf page key->lower always = key->upper */ - if (GIST_LEAF(entry)) - retval = TSEQ(query, &(key->lower)); - else - retval = (TSLE(&(key->lower), query) && TSLE(query, &(key->upper))); - break; - case BTGreaterStrategyNumber: - if (GIST_LEAF(entry)) - retval = TSLT(query, &(key->upper)); - else - retval = TSLE(query, &(key->upper)); - break; - case BTGreaterEqualStrategyNumber: - retval = TSLE(query, &(key->upper)); - break; - default: - retval = FALSE; - } - PG_RETURN_BOOL(retval); -} - -Datum -gts_union(PG_FUNCTION_ARGS) -{ - bytea *entryvec = (bytea *) PG_GETARG_POINTER(0); - int i, - numranges; - TSKEY *cur, - *out = palloc(sizeof(TSKEY)); - - numranges = (VARSIZE(entryvec) - VARHDRSZ) / sizeof(GISTENTRY); - *(int *) PG_GETARG_POINTER(1) = sizeof(TSKEY); - - cur = (TSKEY *) DatumGetPointer((((GISTENTRY *) (VARDATA(entryvec)))[0].key)); - out->lower = cur->lower; - out->upper = cur->upper; - - for (i = 1; i < numranges; i++) - { - cur = (TSKEY *) DatumGetPointer((((GISTENTRY *) (VARDATA(entryvec)))[i].key)); - if (TSGT(&out->lower, &cur->lower)) - out->lower = cur->lower; - if (TSLT(&out->upper, &cur->upper)) - out->upper = cur->upper; - } - - PG_RETURN_POINTER(out); -} - -Datum -gts_penalty(PG_FUNCTION_ARGS) -{ - TSKEY *origentry = (TSKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(0))->key); - TSKEY *newentry = (TSKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(1))->key); - float *result = (float *) PG_GETARG_POINTER(2); - Interval *intr; - - intr = DatumGetIntervalP(DirectFunctionCall2( - timestamp_mi, - TimestampGetDatumFast(newentry->upper), - TimestampGetDatumFast(origentry->upper))); - - /* see interval_larger */ - *result = Max(intr->time + intr->month * (30.0 * 86400), 0); - pfree(intr); - - intr = DatumGetIntervalP(DirectFunctionCall2( - timestamp_mi, - TimestampGetDatumFast(origentry->lower), - TimestampGetDatumFast(newentry->lower))); - - /* see interval_larger */ - *result += Max(intr->time + intr->month * (30.0 * 86400), 0); - pfree(intr); - - PG_RETURN_POINTER(result); -} - -Datum -gts_picksplit(PG_FUNCTION_ARGS) -{ - PG_RETURN_POINTER(btree_picksplit( - (bytea *) PG_GETARG_POINTER(0), - (GIST_SPLITVEC *) PG_GETARG_POINTER(1), - gts_binary_union, - tskey_cmp - )); -} - -Datum -gts_same(PG_FUNCTION_ARGS) -{ - TSKEY *b1 = (TSKEY *) PG_GETARG_POINTER(0); - TSKEY *b2 = (TSKEY *) PG_GETARG_POINTER(1); - - bool *result = (bool *) PG_GETARG_POINTER(2); - - if (b1 && b2) - *result = (TSEQ(&(b1->lower), &(b2->lower)) && TSEQ(&(b1->upper), &(b2->upper))) ? TRUE : FALSE; - else - *result = (b1 == NULL && b2 == NULL) ? TRUE : FALSE; - PG_RETURN_POINTER(result); -} - -static void -gts_binary_union(Datum *r1, char *r2) -{ - TSKEY *b1; - TSKEY *b2 = (TSKEY *) r2; - - if (!DatumGetPointer(*r1)) - { - *r1 = PointerGetDatum(palloc(sizeof(TSKEY))); - b1 = (TSKEY *) DatumGetPointer(*r1); - b1->upper = b2->upper; - b1->lower = b2->lower; - } - else - { - b1 = (TSKEY *) DatumGetPointer(*r1); - - b1->lower = (TSGT(&b1->lower, &b2->lower)) ? - b2->lower : b1->lower; - b1->upper = (TSGT(&b1->upper, &b2->upper)) ? - b1->upper : b2->upper; - } -} - -static int -tskey_cmp(const void *a, const void *b) -{ - return DatumGetInt32( - DirectFunctionCall2( - timestamp_cmp, - TimestampGetDatumFast(((TSKEY *) (((RIX *) a)->r))->lower), - TimestampGetDatumFast(((TSKEY *) (((RIX *) b)->r))->lower) - ) - ); -} - -/************************************************** - * Common btree-function (for all ops) - **************************************************/ - -/* -** The GiST PickSplit method -*/ -static GIST_SPLITVEC * -btree_picksplit(bytea *entryvec, GIST_SPLITVEC *v, BINARY_UNION bu, CMPFUNC cmp) -{ - OffsetNumber i; - RIX *array; - OffsetNumber maxoff; - int nbytes; - - maxoff = ((VARSIZE(entryvec) - VARHDRSZ) / sizeof(GISTENTRY)) - 1; - nbytes = (maxoff + 2) * sizeof(OffsetNumber); - v->spl_left = (OffsetNumber *) palloc(nbytes); - v->spl_right = (OffsetNumber *) palloc(nbytes); - v->spl_nleft = 0; - v->spl_nright = 0; - v->spl_ldatum = PointerGetDatum(0); - v->spl_rdatum = PointerGetDatum(0); - array = (RIX *) palloc(sizeof(RIX) * (maxoff + 1)); - - /* copy the data into RIXes, and sort the RIXes */ - for (i = FirstOffsetNumber; i <= maxoff; i = OffsetNumberNext(i)) - { - array[i].index = i; - array[i].r = (char *) DatumGetPointer((((GISTENTRY *) (VARDATA(entryvec)))[i].key)); - } - qsort((void *) &array[FirstOffsetNumber], maxoff - FirstOffsetNumber + 1, - sizeof(RIX), cmp); - - for (i = FirstOffsetNumber; i <= maxoff; i = OffsetNumberNext(i)) - { - if (i <= (maxoff - FirstOffsetNumber + 1) / 2) - { - v->spl_left[v->spl_nleft] = array[i].index; - v->spl_nleft++; - (*bu) (&v->spl_ldatum, array[i].r); - } - else - { - v->spl_right[v->spl_nright] = array[i].index; - v->spl_nright++; - (*bu) (&v->spl_rdatum, array[i].r); - } - } - pfree(array); - - return (v); -} - -/* -** GiST DeCompress methods -** do not do anything. -*/ -Datum -btree_decompress(PG_FUNCTION_ARGS) -{ - PG_RETURN_POINTER(PG_GETARG_POINTER(0)); -} - - -/************************************************** - * In/Out for keys, not really needed - **************************************************/ -Datum -int4key_in(PG_FUNCTION_ARGS) -{ - INT4KEY *key = palloc(sizeof(INT4KEY)); - - if (sscanf(PG_GETARG_POINTER(0), "%d|%d", &(key->lower), &(key->upper)) != 2) - elog(ERROR, "Error in input format"); - - PG_RETURN_POINTER(key); -} - -Datum -int4key_out(PG_FUNCTION_ARGS) -{ - INT4KEY *key = (INT4KEY *) PG_GETARG_POINTER(0); - char *str = palloc(sizeof(char) * 22); - - sprintf(str, "%d|%d", key->lower, key->upper); - PG_RETURN_POINTER(str); -} - -Datum -tskey_in(PG_FUNCTION_ARGS) -{ - elog(ERROR, "Not implemented"); - PG_RETURN_POINTER(NULL); -} - -Datum -tskey_out(PG_FUNCTION_ARGS) -{ - elog(ERROR, "Not implemented"); - PG_RETURN_POINTER(NULL); -} diff --git a/contrib/btree_gist/btree_gist.sql.in b/contrib/btree_gist/btree_gist.sql.in deleted file mode 100644 index 98b868afc7..0000000000 --- a/contrib/btree_gist/btree_gist.sql.in +++ /dev/null @@ -1,270 +0,0 @@ -begin transaction; --- create type of int4 key - -CREATE FUNCTION int4key_in(opaque) -RETURNS opaque -AS 'MODULE_PATHNAME' -LANGUAGE 'c' with (isstrict); - -CREATE FUNCTION int4key_out(opaque) -RETURNS opaque -AS 'MODULE_PATHNAME' -LANGUAGE 'c' with (isstrict); - -CREATE TYPE int4key ( -internallength = 8, -input = int4key_in, -output = int4key_out -); - - --- --- --- --- int4 ops --- --- --- --- define the GiST support methods -create function gint4_consistent(opaque,int4,int2) returns bool as 'MODULE_PATHNAME' language 'C'; - -create function gint4_compress(opaque) returns opaque as 'MODULE_PATHNAME' language 'C'; - -create function btree_decompress(opaque) returns opaque as 'MODULE_PATHNAME' language 'C'; - -create function gint4_penalty(opaque,opaque,opaque) returns opaque as 'MODULE_PATHNAME' language 'C' with(isstrict); - -create function gint4_picksplit(opaque, opaque) returns opaque as 'MODULE_PATHNAME' language 'C'; - -create function gint4_union(bytea, opaque) returns int4 as 'MODULE_PATHNAME' language 'C'; - -create function gint4_same(opaque, opaque, opaque) returns opaque as 'MODULE_PATHNAME' language 'C'; - --- add a new opclass -INSERT INTO pg_opclass (opcamid, opcname, opcnamespace, opcowner, opcintype, opcdefault, opckeytype) - VALUES ( - (SELECT oid FROM pg_am WHERE amname = 'gist'), - 'gist_int4_ops', - (SELECT oid FROM pg_namespace WHERE nspname = 'pg_catalog'), - 1, -- UID of superuser is hardwired to 1 as of PG 7.3 - (SELECT oid FROM pg_type WHERE typname = 'int4'), - true, - (SELECT oid FROM pg_type WHERE typname = 'int4key')); - - -SELECT o.oid AS opoid, o.oprname -INTO TABLE int_ops_tmp -FROM pg_operator o, pg_type t -WHERE o.oprleft = t.oid and o.oprright = t.oid - and t.typname = 'int4'; - --- get the comparators for int4es and store them in a tmp table -INSERT INTO pg_amop (amopclaid, amopopr, amopstrategy, amopreqcheck) - SELECT opcl.oid, c.opoid, 1, 'f' - FROM pg_opclass opcl, int_ops_tmp c - WHERE opcname = 'gist_int4_ops' - and c.oprname = '<'; - -INSERT INTO pg_amop (amopclaid, amopopr, amopstrategy, amopreqcheck) - SELECT opcl.oid, c.opoid, 2, 'f' - FROM pg_opclass opcl, int_ops_tmp c - WHERE opcname = 'gist_int4_ops' - and c.oprname = '<='; - -INSERT INTO pg_amop (amopclaid, amopopr, amopstrategy, amopreqcheck) - SELECT opcl.oid, c.opoid, 3, 'f' - FROM pg_opclass opcl, int_ops_tmp c - WHERE opcname = 'gist_int4_ops' - and c.oprname = '='; - -INSERT INTO pg_amop (amopclaid, amopopr, amopstrategy, amopreqcheck) - SELECT opcl.oid, c.opoid, 4, 'f' - FROM pg_opclass opcl, int_ops_tmp c - WHERE opcname = 'gist_int4_ops' - and c.oprname = '>='; - -INSERT INTO pg_amop (amopclaid, amopopr, amopstrategy, amopreqcheck) - SELECT opcl.oid, c.opoid, 5, 'f' - FROM pg_opclass opcl, int_ops_tmp c - WHERE opcname = 'gist_int4_ops' - and c.oprname = '>'; - - -DROP table int_ops_tmp; - --- add the entries to amproc for the support methods --- note the amprocnum numbers associated with each are specific! -INSERT INTO pg_amproc (amopclaid, amproc, amprocnum) - SELECT opcl.oid, pro.oid, 1 - FROM pg_opclass opcl, pg_proc pro - WHERE opcname = 'gist_int4_ops' - and proname = 'gint4_consistent'; - -INSERT INTO pg_amproc (amopclaid, amproc, amprocnum) - SELECT opcl.oid, pro.oid, 2 - FROM pg_opclass opcl, pg_proc pro - WHERE opcname = 'gist_int4_ops' - and proname = 'gint4_union'; - -INSERT INTO pg_amproc (amopclaid, amproc, amprocnum) - SELECT opcl.oid, pro.oid, 3 - FROM pg_opclass opcl, pg_proc pro - WHERE opcname = 'gist_int4_ops' - and proname = 'gint4_compress'; - -INSERT INTO pg_amproc (amopclaid, amproc, amprocnum) - SELECT opcl.oid, pro.oid, 4 - FROM pg_opclass opcl, pg_proc pro - WHERE opcname = 'gist_int4_ops' - and proname = 'btree_decompress'; - -INSERT INTO pg_amproc (amopclaid, amproc, amprocnum) - SELECT opcl.oid, pro.oid, 5 - FROM pg_opclass opcl, pg_proc pro - WHERE opcname = 'gist_int4_ops' - and proname = 'gint4_penalty'; - -INSERT INTO pg_amproc (amopclaid, amproc, amprocnum) - SELECT opcl.oid, pro.oid, 6 - FROM pg_opclass opcl, pg_proc pro - WHERE opcname = 'gist_int4_ops' - and proname = 'gint4_picksplit'; - -INSERT INTO pg_amproc (amopclaid, amproc, amprocnum) - SELECT opcl.oid, pro.oid, 7 - FROM pg_opclass opcl, pg_proc pro - WHERE opcname = 'gist_int4_ops' - and proname = 'gint4_same'; - --- --- --- --- timestamp ops --- --- --- --- create type of timestamp key - -CREATE FUNCTION tskey_in(opaque) -RETURNS opaque -AS 'MODULE_PATHNAME' -LANGUAGE 'c' with (isstrict); - -CREATE FUNCTION tskey_out(opaque) -RETURNS opaque -AS 'MODULE_PATHNAME' -LANGUAGE 'c' with (isstrict); - -CREATE TYPE tskey ( -internallength = 16, -input = tskey_in, -output = tskey_out -); - -create function gts_consistent(opaque,timestamp,int2) returns bool as 'MODULE_PATHNAME' language 'C'; - -create function gts_compress(opaque) returns opaque as 'MODULE_PATHNAME' language 'C'; - -create function gts_penalty(opaque,opaque,opaque) returns opaque as 'MODULE_PATHNAME' language 'C' with(isstrict); - -create function gts_picksplit(opaque, opaque) returns opaque as 'MODULE_PATHNAME' language 'C'; - -create function gts_union(bytea, opaque) returns int4 as 'MODULE_PATHNAME' language 'C'; - -create function gts_same(opaque, opaque, opaque) returns opaque as 'MODULE_PATHNAME' language 'C'; - --- add a new opclass -INSERT INTO pg_opclass (opcamid, opcname, opcnamespace, opcowner, opcintype, opcdefault, opckeytype) - VALUES ( - (SELECT oid FROM pg_am WHERE amname = 'gist'), - 'gist_timestamp_ops', - (SELECT oid FROM pg_namespace WHERE nspname = 'pg_catalog'), - 1, -- UID of superuser is hardwired to 1 as of PG 7.3 - (SELECT oid FROM pg_type WHERE typname = 'timestamp'), - true, - (SELECT oid FROM pg_type WHERE typname = 'tskey')); - -SELECT o.oid AS opoid, o.oprname -INTO TABLE timestamp_ops_tmp -FROM pg_operator o, pg_type t -WHERE o.oprleft = t.oid and o.oprright = t.oid - and t.typname = 'timestamp'; - -INSERT INTO pg_amop (amopclaid, amopopr, amopstrategy, amopreqcheck) - SELECT opcl.oid, c.opoid, 1, 'f' - FROM pg_opclass opcl, timestamp_ops_tmp c - WHERE opcname = 'gist_timestamp_ops' - and c.oprname = '<'; - -INSERT INTO pg_amop (amopclaid, amopopr, amopstrategy, amopreqcheck) - SELECT opcl.oid, c.opoid, 2, 'f' - FROM pg_opclass opcl, timestamp_ops_tmp c - WHERE opcname = 'gist_timestamp_ops' - and c.oprname = '<='; - -INSERT INTO pg_amop (amopclaid, amopopr, amopstrategy, amopreqcheck) - SELECT opcl.oid, c.opoid, 3, 'f' - FROM pg_opclass opcl, timestamp_ops_tmp c - WHERE opcname = 'gist_timestamp_ops' - and c.oprname = '='; - -INSERT INTO pg_amop (amopclaid, amopopr, amopstrategy, amopreqcheck) - SELECT opcl.oid, c.opoid, 4, 'f' - FROM pg_opclass opcl, timestamp_ops_tmp c - WHERE opcname = 'gist_timestamp_ops' - and c.oprname = '>='; - -INSERT INTO pg_amop (amopclaid, amopopr, amopstrategy, amopreqcheck) - SELECT opcl.oid, c.opoid, 5, 'f' - FROM pg_opclass opcl, timestamp_ops_tmp c - WHERE opcname = 'gist_timestamp_ops' - and c.oprname = '>'; - -DROP table timestamp_ops_tmp; - --- add the entries to amproc for the support methods --- note the amprocnum numbers associated with each are specific! -INSERT INTO pg_amproc (amopclaid, amproc, amprocnum) - SELECT opcl.oid, pro.oid, 1 - FROM pg_opclass opcl, pg_proc pro - WHERE opcname = 'gist_timestamp_ops' - and proname = 'gts_consistent'; - -INSERT INTO pg_amproc (amopclaid, amproc, amprocnum) - SELECT opcl.oid, pro.oid, 2 - FROM pg_opclass opcl, pg_proc pro - WHERE opcname = 'gist_timestamp_ops' - and proname = 'gts_union'; - -INSERT INTO pg_amproc (amopclaid, amproc, amprocnum) - SELECT opcl.oid, pro.oid, 3 - FROM pg_opclass opcl, pg_proc pro - WHERE opcname = 'gist_timestamp_ops' - and proname = 'gts_compress'; - -INSERT INTO pg_amproc (amopclaid, amproc, amprocnum) - SELECT opcl.oid, pro.oid, 4 - FROM pg_opclass opcl, pg_proc pro - WHERE opcname = 'gist_timestamp_ops' - and proname = 'btree_decompress'; - -INSERT INTO pg_amproc (amopclaid, amproc, amprocnum) - SELECT opcl.oid, pro.oid, 5 - FROM pg_opclass opcl, pg_proc pro - WHERE opcname = 'gist_timestamp_ops' - and proname = 'gts_penalty'; - -INSERT INTO pg_amproc (amopclaid, amproc, amprocnum) - SELECT opcl.oid, pro.oid, 6 - FROM pg_opclass opcl, pg_proc pro - WHERE opcname = 'gist_timestamp_ops' - and proname = 'gts_picksplit'; - -INSERT INTO pg_amproc (amopclaid, amproc, amprocnum) - SELECT opcl.oid, pro.oid, 7 - FROM pg_opclass opcl, pg_proc pro - WHERE opcname = 'gist_timestamp_ops' - and proname = 'gts_same'; - -end transaction; - diff --git a/contrib/btree_gist/data/test_btree.data b/contrib/btree_gist/data/test_btree.data deleted file mode 100644 index d29aa02c52..0000000000 --- a/contrib/btree_gist/data/test_btree.data +++ /dev/null @@ -1,1000 +0,0 @@ -49 -200 -394 -274 -196 -543 -328 -645 -151 -849 -771 -704 -688 -485 -545 -931 -210 -222 -897 -676 -\N -201 -533 -703 -410 -301 -633 -319 -329 -13 -942 -737 -533 -407 -876 -622 -430 -264 -785 -938 -680 -91 -179 -147 -108 -510 -336 -781 -3 -16 -\N -136 -494 -570 -333 -447 -185 -\N -\N -213 -193 -565 -77 -904 -989 -471 -\N -566 -117 -102 -515 -105 -\N -61 -537 -278 -337 -46 -92 -723 -661 -619 -\N -293 -\N -919 -227 -536 -917 -779 -418 -15 -235 -425 -\N -362 -587 -590 -103 -563 -369 -775 -404 -408 -142 -133 -566 -727 -413 -382 -42 -32 -548 -540 -\N -86 -\N -58 -685 -11 -907 -274 -94 -987 -971 -383 -757 -327 -38 -854 -257 -318 -159 -224 -39 -\N -532 -461 -30 -\N -790 -\N -828 -35 -606 -845 -\N -313 -391 -869 -592 -821 -73 -\N -703 -222 -218 -209 -136 -774 -608 -531 -820 -119 -497 -889 -\N -592 -899 -\N -243 -\N -400 -\N -894 -\N -\N -386 -\N -550 -840 -606 -160 -386 -723 -16 -693 -601 -338 -368 -74 -436 -734 -806 -433 -679 -857 -679 -319 -85 -\N -153 -506 -110 -73 -485 -749 -205 -628 -746 -380 -\N -573 -146 -314 -439 -102 -606 -\N -179 -\N -921 -236 -509 -714 -353 -97 -\N -374 -131 -528 -805 -298 -533 -737 -\N -135 -119 -294 -725 -826 -393 -740 -487 -932 -\N -734 -333 -651 -460 -590 -530 -575 -352 -999 -319 -\N -277 -692 -939 -580 -\N -\N -568 -92 -182 -885 -839 -303 -709 -891 -538 -58 -271 -577 -827 -459 -852 -812 -823 -\N -375 -924 -\N -799 -297 -795 -853 -751 -\N -77 -339 -\N -\N -506 -577 -864 -118 -444 -731 -355 -390 -787 -352 -570 -389 -771 -110 -278 -59 -862 -846 -\N -362 -590 -719 -442 -525 -329 -945 -739 -857 -897 -835 -787 -657 -558 -455 -\N -159 -\N -672 -795 -\N -581 -818 -872 -123 -255 -816 -789 -\N -124 -\N -900 -\N -240 -819 -386 -841 -282 -269 -259 -893 -570 -505 -769 -959 -\N -426 -620 -857 -824 -102 -308 -351 -74 -950 -292 -580 -739 -575 -\N -594 -\N -489 -382 -498 -795 -664 -881 -918 -159 -108 -\N -679 -724 -964 -8 -664 -267 -101 -869 -676 -433 -469 -657 -78 -381 -43 -959 -695 -545 -780 -390 -697 -733 -693 -387 -864 -613 -301 -374 -222 -564 -450 -307 -\N -\N -912 -518 -593 -283 -529 -983 -379 -244 -819 -377 -225 -811 -69 -\N -380 -919 -724 -352 -248 -\N -416 -788 -663 -395 -394 -707 -352 -658 -759 -825 -881 -563 -271 -\N -407 -\N -157 -931 -233 -769 -78 -737 -525 -221 -216 -824 -353 -977 -757 -976 -843 -795 -603 -\N -85 -795 -382 -998 -136 -904 -563 -354 -288 -2 -835 -\N -714 -915 -471 -\N -\N -676 -556 -119 -490 -909 -\N -240 -106 -17 -474 -222 -721 -374 -\N -262 -913 -234 -797 -\N -723 -9 -126 -886 -617 -311 -241 -413 -134 -545 -145 -867 -120 -271 -\N -\N -\N -177 -\N -735 -435 -\N -855 -612 -803 -964 -417 -771 -359 -670 -682 -236 -492 -597 -220 -1 -585 -193 -837 -938 -389 -527 -423 -627 -\N -924 -741 -760 -280 -819 -128 -585 -412 -\N -816 -710 -359 -318 -478 -803 -771 -642 -\N -\N -842 -490 -462 -727 -214 -629 -276 -\N -274 -672 -875 -35 -873 -913 -185 -770 -126 -4 -770 -56 -621 -137 -62 -771 -561 -891 -80 -\N -45 -996 -722 -940 -823 -\N -883 -225 -788 -519 -317 -763 -563 -689 -635 -905 -500 -859 -55 -205 -651 -537 -787 -973 -195 -542 -\N -\N -857 -377 -\N -\N -834 -314 -314 -407 -865 -945 -675 -\N -\N -5 -715 -248 -168 -862 -37 -366 -936 -136 -\N -324 -845 -854 -831 -225 -\N -987 -545 -621 -140 -844 -132 -466 -899 -716 -907 -97 -511 -425 -225 -522 -702 -532 -132 -328 -278 -985 -869 -773 -\N -633 -624 -114 -879 -142 -762 -729 -890 -430 -241 -267 -616 -9 -457 -168 -\N -177 -3 -\N -675 -558 -2 -\N -310 -548 -992 -597 -950 -48 -33 -173 -460 -890 -757 -983 -492 -777 -22 -261 -973 -106 -666 -558 -226 -681 -\N -347 -92 -14 -96 -641 -495 -585 -458 -217 -386 -284 -719 -694 -\N -643 -\N -928 -976 -44 -941 -396 -\N -559 -969 -187 -669 -463 -769 -669 -\N -70 -861 -501 -\N -349 -44 -951 -375 -869 -441 -515 -322 -867 -983 -152 -623 -730 -148 -899 -236 -833 -961 -389 -448 -975 -523 -225 -\N -698 -314 -19 -935 -269 -178 -349 -685 -702 -523 -165 -453 -756 -266 -997 -499 -880 -402 -40 -487 -261 -506 -886 -193 -237 -631 -630 -570 -90 -558 -348 -203 -\N -598 -676 -834 -709 -796 -299 -197 -\N -94 -997 -458 -871 -964 -808 -321 -\N -525 -451 -785 -374 -530 -626 -850 -336 -138 -883 -143 -\N -299 -\N -754 -667 -820 -777 -438 -339 -600 -276 -987 -270 -949 -\N -474 -321 -325 -138 -620 -345 -\N -477 -\N -690 -714 -897 -36 -469 -965 -259 -715 -580 -\N -697 -495 -\N -284 -820 -992 -708 -638 -216 -181 -\N -101 -\N -730 -902 -703 -176 -561 -945 -915 -246 -632 -441 -849 -\N -552 -76 -960 -628 -413 -814 -746 -613 -417 -327 -178 -116 -829 -522 -761 -462 -518 -660 -87 -979 -143 -628 -960 -715 -\N -288 -\N -387 -29 -15 -544 -455 -57 -433 -158 -72 -49 -620 -616 -592 -584 -564 -735 -308 -661 -519 -1 -825 -665 -316 -970 -305 -204 -541 -544 -589 -827 -600 -126 -192 -610 -650 -647 -177 -625 -405 -465 -895 -\N -152 -594 -492 -385 -693 -442 -173 -\N -946 -934 -200 -532 -750 -158 -981 -670 -572 -608 -135 -48 -208 -\N -971 -594 -429 -655 diff --git a/contrib/btree_gist/data/test_btree_ts.data b/contrib/btree_gist/data/test_btree_ts.data deleted file mode 100644 index 7dc9a5b0c6..0000000000 --- a/contrib/btree_gist/data/test_btree_ts.data +++ /dev/null @@ -1,1000 +0,0 @@ -\N -Sun Jun 3 20:40:06 2001 -Sun Jun 3 02:45:19 2001 -Tue May 29 20:31:04 2001 -Fri Jun 1 04:23:33 2001 -Wed May 30 07:38:41 2001 -Sun Jun 3 11:21:57 2001 -Fri Jun 1 01:05:37 2001 -Mon May 28 21:42:37 2001 -Wed May 30 17:54:19 2001 -Mon Jun 4 18:45:50 2001 -Tue May 29 19:55:23 2001 -Tue May 29 12:15:50 2001 -Mon Jun 4 03:14:19 2001 -Tue May 29 08:42:21 2001 -Sun Jun 3 04:31:46 2001 -Tue May 29 15:13:14 2001 -Thu May 31 02:32:09 2001 -Thu May 31 01:12:54 2001 -Tue May 29 16:55:46 2001 -Fri Jun 1 18:01:47 2001 -Mon May 28 22:49:18 2001 -Tue May 29 16:51:44 2001 -Mon Jun 4 07:09:50 2001 -Mon May 28 21:12:17 2001 -Wed May 30 01:17:11 2001 -Thu May 31 02:02:53 2001 -Tue May 29 07:49:47 2001 -Sat Jun 2 16:06:10 2001 -Sun Jun 3 16:18:58 2001 -Tue May 29 03:16:58 2001 -Sat Jun 2 01:36:39 2001 -Sat Jun 2 19:42:28 2001 -Sat Jun 2 03:31:29 2001 -Wed May 30 14:28:07 2001 -Wed May 30 13:48:30 2001 -Sun Jun 3 22:24:38 2001 -Tue May 29 08:47:05 2001 -Mon Jun 4 01:10:50 2001 -Fri Jun 1 21:52:26 2001 -Tue May 29 16:47:26 2001 -Sat Jun 2 18:15:31 2001 -Sat Jun 2 05:56:51 2001 -Sun Jun 3 17:56:22 2001 -Sat Jun 2 11:23:49 2001 -Fri Jun 1 13:25:51 2001 -Wed May 30 22:32:03 2001 -Thu May 31 08:20:54 2001 -\N -Thu May 31 19:03:04 2001 -Fri Jun 1 20:11:05 2001 -Sun Jun 3 20:09:52 2001 -Wed May 30 05:56:53 2001 -Sat Jun 2 02:33:53 2001 -Fri Jun 1 23:33:12 2001 -Mon Jun 4 14:27:14 2001 -Sun Jun 3 07:17:52 2001 -Sat Jun 2 14:44:01 2001 -Wed May 30 16:15:42 2001 -\N -Thu May 31 08:24:36 2001 -Mon Jun 4 17:45:29 2001 -Thu May 31 10:46:18 2001 -Tue May 29 11:21:09 2001 -Sat Jun 2 19:27:48 2001 -Sat Jun 2 15:21:37 2001 -Thu May 31 15:07:29 2001 -Mon Jun 4 04:25:42 2001 -Sun Jun 3 19:21:05 2001 -Wed May 30 01:35:52 2001 -\N -Thu May 31 17:05:54 2001 -Thu May 31 02:22:03 2001 -Wed May 30 10:09:01 2001 -Wed May 30 15:36:50 2001 -Wed May 30 03:13:22 2001 -Tue May 29 19:54:54 2001 -Thu May 31 18:58:16 2001 -Fri Jun 1 11:31:40 2001 -Sat Jun 2 11:01:18 2001 -Wed May 30 10:17:52 2001 -\N -Sat Jun 2 04:07:24 2001 -Sat Jun 2 07:29:24 2001 -Fri Jun 1 03:17:40 2001 -Thu May 31 20:49:55 2001 -Mon Jun 4 08:07:37 2001 -Sat Jun 2 01:17:04 2001 -Wed May 30 19:59:30 2001 -Fri Jun 1 17:03:00 2001 -Thu May 31 22:50:11 2001 -Tue May 29 00:14:32 2001 -Sat Jun 2 06:53:18 2001 -Fri Jun 1 02:19:00 2001 -Tue May 29 15:22:30 2001 -Sun Jun 3 10:08:27 2001 -Wed May 30 18:30:36 2001 -Wed May 30 08:57:25 2001 -Tue May 29 06:59:32 2001 -Wed May 30 06:29:04 2001 -Tue May 29 13:16:29 2001 -Thu May 31 08:24:46 2001 -Thu May 31 20:50:41 2001 -\N -Wed May 30 20:34:27 2001 -Wed May 30 17:14:44 2001 -Tue May 29 13:06:28 2001 -Sun Jun 3 09:49:45 2001 -Thu May 31 11:11:56 2001 -Tue May 29 06:37:34 2001 -Mon May 28 22:38:25 2001 -Sat Jun 2 07:51:04 2001 -\N -Wed May 30 03:53:04 2001 -Tue May 29 00:01:38 2001 -Fri Jun 1 19:23:30 2001 -Thu May 31 08:36:36 2001 -Sun Jun 3 00:04:28 2001 -Thu May 31 02:07:37 2001 -Thu May 31 04:14:15 2001 -Wed May 30 22:23:45 2001 -Mon May 28 22:42:50 2001 -Wed May 30 01:37:14 2001 -Wed May 30 14:03:12 2001 -Sun Jun 3 23:40:54 2001 -Sat Jun 2 14:28:35 2001 -Sat Jun 2 11:48:57 2001 -Mon Jun 4 18:50:42 2001 -Wed May 30 20:56:22 2001 -Sat Jun 2 12:53:46 2001 -\N -Wed May 30 04:14:41 2001 -Thu May 31 02:12:07 2001 -Mon Jun 4 05:52:07 2001 -Fri Jun 1 05:25:34 2001 -Thu May 31 06:19:47 2001 -Mon Jun 4 03:39:58 2001 -Wed May 30 23:59:02 2001 -Sat Jun 2 11:12:50 2001 -Wed May 30 01:51:48 2001 -Sun Jun 3 03:22:55 2001 -Sat Jun 2 23:24:56 2001 -Sun Jun 3 01:37:30 2001 -Sat Jun 2 14:49:14 2001 -Fri Jun 1 09:21:57 2001 -Sun Jun 3 19:08:13 2001 -\N -Wed May 30 17:25:06 2001 -Thu May 31 23:43:31 2001 -Wed May 30 19:30:46 2001 -Sun Jun 3 12:12:08 2001 -Thu May 31 15:20:18 2001 -Thu May 31 22:14:37 2001 -Sun Jun 3 17:26:54 2001 -Wed May 30 18:23:42 2001 -Tue May 29 16:17:51 2001 -Sun Jun 3 02:03:30 2001 -Mon May 28 21:46:57 2001 -Sun Jun 3 15:41:51 2001 -Sat Jun 2 23:10:23 2001 -Tue May 29 02:03:28 2001 -Fri Jun 1 13:40:57 2001 -Sun Jun 3 18:39:05 2001 -Wed May 30 21:55:49 2001 -Thu May 31 23:45:28 2001 -Thu May 31 08:32:38 2001 -Tue May 29 22:11:25 2001 -Wed May 30 02:09:08 2001 -Fri Jun 1 03:04:47 2001 -Mon May 28 21:01:12 2001 -Wed May 30 01:55:13 2001 -\N -Tue May 29 22:52:13 2001 -Wed May 30 01:51:02 2001 -Sun Jun 3 01:34:33 2001 -Wed May 30 15:44:24 2001 -Wed May 30 04:27:54 2001 -Sat Jun 2 20:08:59 2001 -Sat Jun 2 13:11:14 2001 -Sun Jun 3 14:47:03 2001 -Wed May 30 07:41:49 2001 -Tue May 29 05:24:12 2001 -Sat Jun 2 07:03:17 2001 -Thu May 31 08:30:25 2001 -Sun Jun 3 13:48:30 2001 -Wed May 30 11:43:23 2001 -Wed May 30 11:12:01 2001 -Sun Jun 3 09:08:53 2001 -Thu May 31 06:27:12 2001 -Sat Jun 2 02:53:25 2001 -Mon Jun 4 05:23:09 2001 -Sat Jun 2 18:04:07 2001 -\N -Tue May 29 22:54:17 2001 -Sat Jun 2 18:53:11 2001 -Sun Jun 3 23:55:00 2001 -Fri Jun 1 14:56:29 2001 -\N -Sun Jun 3 01:10:21 2001 -Sun Jun 3 13:03:24 2001 -Sat Jun 2 12:44:32 2001 -Tue May 29 05:19:28 2001 -Thu May 31 16:36:01 2001 -Mon Jun 4 15:25:04 2001 -\N -Sun Jun 3 00:58:03 2001 -Thu May 31 10:10:45 2001 -Sun Jun 3 23:10:39 2001 -Thu May 31 17:08:54 2001 -Sat Jun 2 04:44:32 2001 -Mon Jun 4 20:37:32 2001 -Sun Jun 3 14:02:27 2001 -Fri Jun 1 00:15:11 2001 -Wed May 30 19:07:54 2001 -Thu May 31 21:09:07 2001 -Wed May 30 06:43:45 2001 -Thu May 31 17:03:48 2001 -Wed May 30 10:34:25 2001 -Thu May 31 19:30:19 2001 -Wed May 30 03:26:20 2001 -\N -Tue May 29 11:31:43 2001 -Wed May 30 10:41:13 2001 -Sun Jun 3 22:56:30 2001 -Sat Jun 2 11:24:17 2001 -\N -Tue May 29 08:31:26 2001 -Sun Jun 3 07:16:34 2001 -Fri Jun 1 07:03:59 2001 -Thu May 31 04:49:56 2001 -Fri Jun 1 14:39:21 2001 -Sat Jun 2 17:07:43 2001 -Tue May 29 01:49:41 2001 -Fri Jun 1 06:20:26 2001 -Mon Jun 4 05:09:06 2001 -Thu May 31 00:14:27 2001 -Sat Jun 2 17:21:41 2001 -\N -Tue May 29 02:56:39 2001 -Tue May 29 23:27:02 2001 -Mon May 28 23:50:53 2001 -Wed May 30 02:32:23 2001 -Fri Jun 1 12:37:50 2001 -Wed May 30 23:57:32 2001 -Tue May 29 01:50:18 2001 -Mon May 28 22:17:20 2001 -Tue May 29 01:59:52 2001 -Sat Jun 2 18:49:18 2001 -\N -Wed May 30 05:04:26 2001 -Sat Jun 2 19:04:41 2001 -Sun Jun 3 07:07:43 2001 -Thu May 31 12:32:31 2001 -Sat Jun 2 01:24:29 2001 -\N -Wed May 30 19:38:53 2001 -Fri Jun 1 02:48:16 2001 -\N -Wed May 30 16:12:42 2001 -Mon May 28 21:33:51 2001 -Thu May 31 15:02:55 2001 -Sun Jun 3 13:03:45 2001 -Tue May 29 08:44:17 2001 -Wed May 30 21:32:20 2001 -Sun Jun 3 23:50:24 2001 -Tue May 29 00:31:05 2001 -Thu May 31 09:13:07 2001 -Sat Jun 2 11:13:49 2001 -Thu May 31 20:47:16 2001 -Thu May 31 23:08:43 2001 -Wed May 30 11:53:35 2001 -Wed May 30 18:46:04 2001 -Wed May 30 11:35:10 2001 -Wed May 30 02:57:12 2001 -Fri Jun 1 21:02:27 2001 -Sat Jun 2 08:59:07 2001 -\N -Mon Jun 4 11:42:53 2001 -Sun Jun 3 16:53:56 2001 -Tue May 29 17:44:47 2001 -Fri Jun 1 18:51:21 2001 -Sun Jun 3 04:40:51 2001 -Tue May 29 23:47:08 2001 -Fri Jun 1 17:49:14 2001 -Mon Jun 4 09:00:55 2001 -Thu May 31 04:03:50 2001 -Fri Jun 1 12:29:04 2001 -Thu May 31 22:51:45 2001 -Sat Jun 2 03:50:06 2001 -Fri Jun 1 11:15:33 2001 -Sun Jun 3 21:42:22 2001 -Fri Jun 1 20:15:02 2001 -Fri Jun 1 00:28:51 2001 -Tue May 29 03:43:49 2001 -Mon Jun 4 17:44:11 2001 -Sun Jun 3 05:15:34 2001 -Tue May 29 01:38:51 2001 -Thu May 31 15:54:51 2001 -Tue May 29 13:35:33 2001 -Thu May 31 12:27:53 2001 -Thu May 31 01:12:50 2001 -Mon Jun 4 01:07:39 2001 -Fri Jun 1 17:10:46 2001 -Mon Jun 4 00:09:03 2001 -Thu May 31 14:54:00 2001 -Sun Jun 3 02:28:24 2001 -Sat Jun 2 00:26:46 2001 -Fri Jun 1 19:42:57 2001 -Thu May 31 11:55:21 2001 -Fri Jun 1 08:44:49 2001 -Thu May 31 09:32:30 2001 -Thu May 31 22:04:45 2001 -Thu May 31 11:39:08 2001 -Wed May 30 23:20:32 2001 -Mon Jun 4 07:58:17 2001 -\N -Mon Jun 4 15:28:43 2001 -Mon Jun 4 04:26:29 2001 -Wed May 30 03:52:48 2001 -Wed May 30 06:52:21 2001 -Sat Jun 2 13:06:29 2001 -Sun Jun 3 23:04:07 2001 -Sun Jun 3 10:34:38 2001 -Sun Jun 3 02:45:33 2001 -Sun Jun 3 01:43:03 2001 -Wed May 30 11:07:31 2001 -Wed May 30 20:26:35 2001 -Sun Jun 3 18:37:10 2001 -Fri Jun 1 06:53:17 2001 -Thu May 31 21:40:41 2001 -Wed May 30 12:39:25 2001 -Mon Jun 4 16:34:29 2001 -Mon Jun 4 09:50:31 2001 -Sun Jun 3 08:39:42 2001 -Thu May 31 08:03:17 2001 -Wed May 30 11:15:20 2001 -Mon Jun 4 19:43:28 2001 -Sat Jun 2 00:24:36 2001 -Mon Jun 4 01:54:40 2001 -Wed May 30 19:49:56 2001 -Wed May 30 10:53:06 2001 -Mon Jun 4 18:11:15 2001 -Sun Jun 3 01:43:14 2001 -Mon May 28 21:02:47 2001 -\N -Sat Jun 2 01:42:54 2001 -Sat Jun 2 10:15:31 2001 -Thu May 31 15:28:59 2001 -Tue May 29 21:21:39 2001 -Sun Jun 3 20:36:37 2001 -Sun Jun 3 04:50:43 2001 -Fri Jun 1 04:49:37 2001 -Tue May 29 13:13:15 2001 -\N -Fri Jun 1 03:27:34 2001 -Tue May 29 20:30:51 2001 -Wed May 30 23:09:30 2001 -Fri Jun 1 05:11:20 2001 -\N -Sat Jun 2 18:29:35 2001 -Tue May 29 09:21:40 2001 -Mon May 28 23:07:57 2001 -Tue May 29 20:06:18 2001 -Thu May 31 00:36:38 2001 -Tue May 29 11:15:38 2001 -Sun Jun 3 08:41:27 2001 -Wed May 30 19:51:16 2001 -\N -Sat Jun 2 19:50:28 2001 -Sun Jun 3 11:07:04 2001 -Thu May 31 22:56:31 2001 -Thu May 31 02:33:47 2001 -Tue May 29 21:41:08 2001 -Mon Jun 4 20:06:53 2001 -Wed May 30 12:12:35 2001 -Mon May 28 21:05:46 2001 -\N -Fri Jun 1 03:53:06 2001 -Thu May 31 06:10:59 2001 -Sun Jun 3 22:22:20 2001 -Sat Jun 2 08:53:01 2001 -\N -Sun Jun 3 23:03:45 2001 -Wed May 30 04:38:42 2001 -Mon Jun 4 03:47:43 2001 -\N -Wed May 30 13:47:00 2001 -Tue May 29 13:59:04 2001 -Fri Jun 1 08:04:48 2001 -Fri Jun 1 23:10:41 2001 -Sun Jun 3 06:10:43 2001 -Fri Jun 1 09:05:06 2001 -Fri Jun 1 00:58:36 2001 -Wed May 30 23:08:13 2001 -\N -Fri Jun 1 04:39:19 2001 -Tue May 29 05:05:20 2001 -Mon Jun 4 06:34:52 2001 -Mon Jun 4 01:12:51 2001 -Mon Jun 4 19:28:05 2001 -Wed May 30 04:30:02 2001 -Tue May 29 07:06:29 2001 -Mon Jun 4 01:42:10 2001 -Thu May 31 03:47:17 2001 -Sat Jun 2 20:10:24 2001 -Fri Jun 1 13:33:51 2001 -Thu May 31 02:10:40 2001 -Mon Jun 4 11:40:35 2001 -Wed May 30 11:58:20 2001 -Thu May 31 14:21:17 2001 -Fri Jun 1 15:53:58 2001 -Thu May 31 03:15:55 2001 -Sat Jun 2 23:44:52 2001 -Sun Jun 3 06:50:50 2001 -Fri Jun 1 23:37:43 2001 -Wed May 30 04:47:24 2001 -Fri Jun 1 18:37:01 2001 -Mon Jun 4 05:54:07 2001 -Fri Jun 1 05:24:32 2001 -\N -Wed May 30 21:24:31 2001 -Mon Jun 4 07:49:01 2001 -Thu May 31 21:30:47 2001 -Tue May 29 22:04:07 2001 -Tue May 29 20:51:36 2001 -\N -Fri Jun 1 20:47:32 2001 -\N -Wed May 30 18:05:40 2001 -Sun Jun 3 08:32:17 2001 -Mon Jun 4 05:35:49 2001 -Sat Jun 2 17:02:47 2001 -Tue May 29 15:42:04 2001 -Sun Jun 3 03:10:33 2001 -\N -Sat Jun 2 02:57:36 2001 -Mon Jun 4 08:31:49 2001 -Tue May 29 16:46:56 2001 -Mon Jun 4 20:33:33 2001 -Mon Jun 4 09:10:45 2001 -Wed May 30 14:46:43 2001 -\N -Sun Jun 3 05:12:17 2001 -Mon Jun 4 04:12:42 2001 -Sat Jun 2 16:42:20 2001 -Tue May 29 17:29:35 2001 -Tue May 29 16:13:33 2001 -Fri Jun 1 12:46:59 2001 -Thu May 31 11:04:14 2001 -Tue May 29 23:45:19 2001 -\N -Thu May 31 23:42:08 2001 -Mon Jun 4 15:18:56 2001 -Mon Jun 4 20:33:12 2001 -Fri Jun 1 22:20:35 2001 -Wed May 30 12:53:06 2001 -Mon Jun 4 18:29:15 2001 -Sat Jun 2 03:01:22 2001 -\N -Sun Jun 3 04:33:18 2001 -Mon May 28 22:23:42 2001 -Sat Jun 2 05:42:57 2001 -\N -Thu May 31 18:58:14 2001 -Fri Jun 1 17:16:00 2001 -Tue May 29 00:40:26 2001 -Sun Jun 3 09:18:52 2001 -Thu May 31 10:01:25 2001 -Fri Jun 1 08:19:53 2001 -Fri Jun 1 02:15:07 2001 -Thu May 31 11:12:51 2001 -Mon Jun 4 17:36:57 2001 -Mon May 28 21:14:23 2001 -Sun Jun 3 01:10:25 2001 -Wed May 30 22:52:42 2001 -Fri Jun 1 12:41:55 2001 -Sun Jun 3 01:22:21 2001 -Mon Jun 4 00:59:07 2001 -Thu May 31 15:19:57 2001 -Tue May 29 08:47:42 2001 -Tue May 29 06:35:44 2001 -Sun Jun 3 06:41:40 2001 -Fri Jun 1 03:36:12 2001 -Sun Jun 3 06:01:51 2001 -\N -\N -\N -Mon Jun 4 00:35:16 2001 -Sun Jun 3 20:43:44 2001 -Thu May 31 17:03:03 2001 -Sun Jun 3 00:44:32 2001 -Thu May 31 06:26:40 2001 -Mon Jun 4 16:55:01 2001 -Fri Jun 1 23:52:24 2001 -Wed May 30 05:54:54 2001 -Mon Jun 4 01:33:25 2001 -Thu May 31 04:33:42 2001 -Fri Jun 1 03:06:05 2001 -Thu May 31 08:44:54 2001 -Wed May 30 04:50:48 2001 -Thu May 31 23:32:22 2001 -\N -Wed May 30 05:47:17 2001 -Tue May 29 00:14:58 2001 -Wed May 30 16:38:43 2001 -Wed May 30 09:48:16 2001 -Mon Jun 4 07:21:22 2001 -Sat Jun 2 13:18:48 2001 -Thu May 31 01:52:04 2001 -Mon Jun 4 02:11:26 2001 -Sun Jun 3 06:17:29 2001 -Fri Jun 1 14:53:18 2001 -\N -\N -Sun Jun 3 02:05:26 2001 -Sat Jun 2 10:28:04 2001 -Sun Jun 3 04:48:08 2001 -Wed May 30 09:26:19 2001 -Mon May 28 23:34:31 2001 -Sun Jun 3 13:46:32 2001 -Thu May 31 01:07:37 2001 -Sat Jun 2 12:08:18 2001 -\N -Wed May 30 03:40:30 2001 -Tue May 29 18:35:13 2001 -Sun Jun 3 13:56:51 2001 -Fri Jun 1 07:01:52 2001 -Thu May 31 10:31:06 2001 -Fri Jun 1 21:44:46 2001 -Sun Jun 3 00:22:13 2001 -Thu May 31 10:08:26 2001 -Tue May 29 10:49:29 2001 -Fri Jun 1 02:46:00 2001 -Sun Jun 3 02:08:29 2001 -Thu May 31 00:40:41 2001 -Tue May 29 20:26:38 2001 -\N -Wed May 30 04:13:05 2001 -Tue May 29 19:42:52 2001 -Sat Jun 2 08:51:50 2001 -Fri Jun 1 00:02:55 2001 -Mon Jun 4 09:21:49 2001 -\N -Mon May 28 20:47:42 2001 -\N -Sun Jun 3 16:12:38 2001 -Sat Jun 2 12:12:14 2001 -Sat Jun 2 07:08:40 2001 -Sat Jun 2 17:45:38 2001 -Sun Jun 3 10:49:35 2001 -Tue May 29 01:23:15 2001 -Sat Jun 2 09:01:38 2001 -Thu May 31 15:05:25 2001 -Tue May 29 08:02:41 2001 -Thu May 31 16:03:22 2001 -Mon Jun 4 02:21:36 2001 -Thu May 31 09:09:44 2001 -Mon Jun 4 20:33:40 2001 -Fri Jun 1 19:22:33 2001 -Tue May 29 21:46:52 2001 -Tue May 29 16:17:32 2001 -Sun Jun 3 22:54:05 2001 -\N -Sat Jun 2 17:06:31 2001 -Tue May 29 01:23:14 2001 -Fri Jun 1 00:26:49 2001 -Fri Jun 1 08:11:03 2001 -Thu May 31 23:38:11 2001 -Thu May 31 07:24:01 2001 -Mon Jun 4 09:25:23 2001 -Thu May 31 22:13:02 2001 -Sun Jun 3 11:37:32 2001 -Mon Jun 4 03:28:00 2001 -Sun Jun 3 23:43:04 2001 -Thu May 31 03:20:54 2001 -Sun Jun 3 07:29:28 2001 -Fri Jun 1 09:20:51 2001 -Fri Jun 1 03:02:32 2001 -\N -\N -Mon Jun 4 01:20:28 2001 -Tue May 29 17:00:15 2001 -Sun Jun 3 16:37:38 2001 -Thu May 31 15:10:35 2001 -\N -Wed May 30 10:45:33 2001 -Tue May 29 21:35:27 2001 -Thu May 31 11:59:22 2001 -Tue May 29 19:21:17 2001 -Sat Jun 2 02:03:20 2001 -Fri Jun 1 15:22:10 2001 -Sun Jun 3 18:30:25 2001 -Thu May 31 02:06:09 2001 -Tue May 29 14:34:44 2001 -Mon Jun 4 12:25:01 2001 -Tue May 29 00:38:48 2001 -Thu May 31 18:45:03 2001 -Mon Jun 4 04:41:41 2001 -Tue May 29 04:56:23 2001 -Sat Jun 2 16:03:09 2001 -Mon Jun 4 08:55:42 2001 -Sat Jun 2 16:38:42 2001 -\N -\N -Sat Jun 2 00:00:34 2001 -\N -Thu May 31 07:46:00 2001 -Fri Jun 1 08:41:21 2001 -Mon Jun 4 02:31:49 2001 -Wed May 30 03:02:20 2001 -Wed May 30 06:59:57 2001 -Thu May 31 15:19:53 2001 -Sun Jun 3 01:27:16 2001 -Sat Jun 2 01:35:23 2001 -\N -Fri Jun 1 22:27:39 2001 -Sat Jun 2 10:17:13 2001 -Fri Jun 1 13:33:55 2001 -Wed May 30 13:03:05 2001 -Mon Jun 4 11:01:32 2001 -Tue May 29 00:05:35 2001 -Mon Jun 4 00:15:04 2001 -Sat Jun 2 12:17:20 2001 -Sat Jun 2 00:06:55 2001 -Sun Jun 3 20:44:11 2001 -\N -\N -Thu May 31 11:39:15 2001 -Sat Jun 2 19:38:01 2001 -Sat Jun 2 23:25:19 2001 -Thu May 31 18:59:37 2001 -Tue May 29 06:00:36 2001 -Mon Jun 4 10:49:43 2001 -Thu May 31 09:03:07 2001 -Mon Jun 4 03:44:33 2001 -Sun Jun 3 16:48:20 2001 -Sat Jun 2 05:04:30 2001 -Thu May 31 08:15:22 2001 -\N -Mon Jun 4 13:54:06 2001 -Fri Jun 1 08:36:09 2001 -Sat Jun 2 20:22:49 2001 -Mon Jun 4 05:19:25 2001 -Fri Jun 1 10:44:30 2001 -Mon Jun 4 05:06:08 2001 -Sat Jun 2 20:19:29 2001 -Mon Jun 4 17:39:15 2001 -Fri Jun 1 04:16:56 2001 -Fri Jun 1 22:58:31 2001 -Mon Jun 4 20:09:25 2001 -Fri Jun 1 18:14:10 2001 -Sat Jun 2 08:24:33 2001 -Wed May 30 17:45:23 2001 -Sat Jun 2 22:08:54 2001 -Fri Jun 1 11:18:21 2001 -Wed May 30 17:19:04 2001 -Sat Jun 2 17:59:07 2001 -Fri Jun 1 06:34:56 2001 -Thu May 31 00:55:58 2001 -Thu May 31 00:10:09 2001 -Wed May 30 20:06:44 2001 -Sat Jun 2 08:54:43 2001 -Wed May 30 04:25:31 2001 -Sun Jun 3 12:44:50 2001 -Mon Jun 4 00:24:19 2001 -Sun Jun 3 01:54:55 2001 -Fri Jun 1 14:44:14 2001 -Thu May 31 18:06:48 2001 -Sat Jun 2 19:51:22 2001 -Tue May 29 14:51:06 2001 -Thu May 31 07:52:28 2001 -Mon Jun 4 16:15:49 2001 -Thu May 31 14:05:11 2001 -Fri Jun 1 09:37:05 2001 -Sun Jun 3 19:18:03 2001 -Thu May 31 02:47:07 2001 -Tue May 29 12:15:12 2001 -Mon Jun 4 17:54:21 2001 -Wed May 30 01:20:40 2001 -Tue May 29 20:30:46 2001 -\N -Fri Jun 1 20:24:23 2001 -Thu May 31 14:29:57 2001 -Sun Jun 3 15:56:14 2001 -\N -Mon Jun 4 01:08:48 2001 -Fri Jun 1 08:43:00 2001 -Sun Jun 3 02:21:13 2001 -Thu May 31 06:05:35 2001 -Wed May 30 22:01:30 2001 -Tue May 29 11:59:52 2001 -Wed May 30 08:57:11 2001 -Mon May 28 22:45:22 2001 -Fri Jun 1 19:57:26 2001 -Thu May 31 11:37:44 2001 -Wed May 30 15:14:58 2001 -Thu May 31 10:33:26 2001 -Thu May 31 22:22:31 2001 -Thu May 31 12:36:52 2001 -Mon Jun 4 01:59:08 2001 -\N -\N -\N -Tue May 29 10:11:09 2001 -\N -Tue May 29 04:12:23 2001 -Mon Jun 4 05:24:35 2001 -Sat Jun 2 12:10:15 2001 -Thu May 31 07:28:51 2001 -Tue May 29 19:39:54 2001 -Tue May 29 15:29:52 2001 -Fri Jun 1 02:54:21 2001 -Wed May 30 13:39:11 2001 -Sun Jun 3 10:13:42 2001 -Sat Jun 2 13:06:33 2001 -Wed May 30 07:39:12 2001 -\N -Sat Jun 2 17:46:35 2001 -Tue May 29 06:50:13 2001 -Sun Jun 3 16:15:59 2001 -\N -Wed May 30 10:58:14 2001 -Sat Jun 2 04:08:45 2001 -Fri Jun 1 08:04:00 2001 -Wed May 30 20:08:33 2001 -Wed May 30 01:04:38 2001 -Thu May 31 10:27:43 2001 -Sat Jun 2 07:40:34 2001 -Tue May 29 10:01:49 2001 -\N -Mon Jun 4 09:52:34 2001 -Tue May 29 22:03:01 2001 -Fri Jun 1 19:54:17 2001 -Sat Jun 2 09:24:29 2001 -Thu May 31 09:31:38 2001 -\N -Sat Jun 2 22:44:40 2001 -Thu May 31 16:58:45 2001 -Mon Jun 4 17:00:14 2001 -Sun Jun 3 22:08:04 2001 -Wed May 30 07:10:04 2001 -Fri Jun 1 02:48:34 2001 -Wed May 30 09:02:47 2001 -Sat Jun 2 17:37:10 2001 -Mon Jun 4 01:12:25 2001 -Wed May 30 11:30:45 2001 -Tue May 29 01:08:38 2001 -Sun Jun 3 18:00:32 2001 -Sat Jun 2 04:53:59 2001 -Mon Jun 4 16:01:01 2001 -\N -Thu May 31 10:31:19 2001 -Wed May 30 19:04:01 2001 -Thu May 31 07:47:32 2001 -Wed May 30 09:14:45 2001 -Tue May 29 10:25:48 2001 -Mon May 28 21:16:26 2001 -Wed May 30 13:41:26 2001 -Sat Jun 2 05:48:37 2001 -\N -Mon Jun 4 10:39:45 2001 -Thu May 31 21:15:25 2001 -Wed May 30 18:47:04 2001 -Sat Jun 2 18:00:19 2001 -Wed May 30 09:14:11 2001 -Tue May 29 02:50:43 2001 -Sat Jun 2 11:20:26 2001 -Fri Jun 1 20:15:58 2001 -Tue May 29 17:25:43 2001 -Wed May 30 10:26:53 2001 -Tue May 29 22:11:34 2001 -Tue May 29 21:22:11 2001 -Wed May 30 02:21:42 2001 -Sun Jun 3 11:21:58 2001 -\N -Thu May 31 01:51:59 2001 -Fri Jun 1 09:58:13 2001 -\N -Tue May 29 20:14:29 2001 -\N -Sun Jun 3 08:41:19 2001 -Thu May 31 15:43:41 2001 -Mon Jun 4 03:27:28 2001 -Mon Jun 4 07:16:48 2001 -Wed May 30 09:20:24 2001 -Thu May 31 05:15:06 2001 -Wed May 30 22:46:04 2001 -Mon May 28 23:09:17 2001 -Sun Jun 3 08:02:34 2001 -Wed May 30 08:10:27 2001 -Mon Jun 4 18:43:37 2001 -Fri Jun 1 09:47:08 2001 -Thu May 31 09:03:03 2001 -Fri Jun 1 08:00:48 2001 -Wed May 30 03:35:09 2001 -Thu May 31 15:34:51 2001 -Fri Jun 1 09:25:56 2001 -Sun Jun 3 00:12:03 2001 -Sat Jun 2 03:10:27 2001 -Sun Jun 3 01:15:17 2001 -Tue May 29 00:50:57 2001 -Sat Jun 2 11:06:55 2001 -Thu May 31 15:10:57 2001 -Fri Jun 1 19:21:27 2001 -Wed May 30 04:20:23 2001 -Mon Jun 4 06:06:45 2001 -Sat Jun 2 00:26:32 2001 -Thu May 31 18:48:31 2001 -Fri Jun 1 18:06:00 2001 -Thu May 31 22:33:26 2001 -Thu May 31 03:12:30 2001 -Fri Jun 1 18:25:34 2001 -Thu May 31 22:15:49 2001 -Thu May 31 23:51:17 2001 -Fri Jun 1 16:26:23 2001 -Sun Jun 3 01:27:34 2001 -Mon Jun 4 16:41:04 2001 -Tue May 29 02:28:50 2001 -Fri Jun 1 00:04:48 2001 -Sat Jun 2 11:07:09 2001 -Sun Jun 3 19:43:03 2001 -Thu May 31 20:00:50 2001 -Fri Jun 1 04:20:25 2001 -Mon Jun 4 15:06:35 2001 -Sat Jun 2 03:59:59 2001 -\N -Fri Jun 1 15:57:05 2001 -\N -Mon Jun 4 19:09:34 2001 -Sat Jun 2 09:13:53 2001 -Mon Jun 4 10:49:00 2001 -Thu May 31 17:35:02 2001 -Mon May 28 21:33:09 2001 -Sat Jun 2 23:57:28 2001 -Tue May 29 03:02:15 2001 -Thu May 31 13:51:11 2001 -Wed May 30 00:39:37 2001 -Wed May 30 20:21:00 2001 -\N -Wed May 30 08:31:34 2001 -Tue May 29 22:23:46 2001 -Mon Jun 4 13:34:50 2001 -Tue May 29 22:44:31 2001 -Sun Jun 3 01:03:16 2001 -Sat Jun 2 03:35:51 2001 -Thu May 31 21:35:27 2001 -Thu May 31 05:51:43 2001 -Sun Jun 3 23:45:46 2001 -Tue May 29 23:43:03 2001 -Sun Jun 3 08:38:33 2001 -Thu May 31 02:42:18 2001 -Mon Jun 4 00:11:42 2001 -Sun Jun 3 11:45:05 2001 -Sat Jun 2 16:45:14 2001 -\N -Mon Jun 4 14:57:51 2001 -Tue May 29 12:45:16 2001 -Wed May 30 18:55:42 2001 -Sat Jun 2 15:32:50 2001 -Sat Jun 2 18:05:21 2001 -Sat Jun 2 11:17:04 2001 -Tue May 29 17:55:19 2001 -Sat Jun 2 11:01:19 2001 -Sat Jun 2 14:25:20 2001 -Sun Jun 3 06:04:47 2001 -Mon Jun 4 07:17:11 2001 -Sun Jun 3 18:30:47 2001 -Mon Jun 4 17:43:58 2001 -Sat Jun 2 14:50:46 2001 -Wed May 30 05:12:48 2001 -Tue May 29 03:19:28 2001 -\N -Tue May 29 23:52:10 2001 -Wed May 30 20:53:02 2001 -Wed May 30 21:57:59 2001 -Sun Jun 3 13:54:02 2001 -\N -Wed May 30 07:36:16 2001 -Wed May 30 05:23:34 2001 -Tue May 29 15:11:32 2001 -Fri Jun 1 10:34:11 2001 -Sat Jun 2 19:20:29 2001 -Mon May 28 23:29:37 2001 -Tue May 29 05:16:03 2001 -Sun Jun 3 18:30:00 2001 -\N -\N -Sat Jun 2 23:55:01 2001 -\N -\N -Fri Jun 1 22:02:29 2001 -Mon Jun 4 18:36:37 2001 -Fri Jun 1 22:30:27 2001 -Thu May 31 08:35:03 2001 -Tue May 29 23:17:47 2001 -Wed May 30 10:38:34 2001 -Wed May 30 17:38:03 2001 -Tue May 29 20:11:39 2001 -Thu May 31 01:02:00 2001 -Fri Jun 1 00:18:08 2001 -Wed May 30 16:43:19 2001 -Sun Jun 3 06:24:18 2001 -Wed May 30 01:43:00 2001 -Sun Jun 3 18:18:07 2001 -Sat Jun 2 23:46:58 2001 -Sat Jun 2 15:39:12 2001 -Mon May 28 23:32:18 2001 -Fri Jun 1 05:14:51 2001 -Tue May 29 11:56:47 2001 -Tue May 29 08:16:59 2001 -Sat Jun 2 05:26:56 2001 -Fri Jun 1 03:55:01 2001 -Wed May 30 00:59:31 2001 -Thu May 31 05:19:37 2001 -Wed May 30 17:11:22 2001 -\N -Fri Jun 1 06:44:57 2001 -Tue May 29 00:12:11 2001 -Wed May 30 08:40:02 2001 -Sat Jun 2 13:18:32 2001 -Tue May 29 05:29:48 2001 -Tue May 29 04:57:40 2001 -Thu May 31 18:15:39 2001 -Thu May 31 15:54:26 2001 -Sat Jun 2 15:26:32 2001 -Fri Jun 1 01:50:55 2001 -\N -\N -Wed May 30 06:09:02 2001 -Sun Jun 3 08:33:33 2001 -Thu May 31 18:37:41 2001 -Sun Jun 3 03:45:31 2001 -Wed May 30 05:39:36 2001 -Tue May 29 13:26:37 2001 -Sun Jun 3 08:52:50 2001 -Wed May 30 05:31:07 2001 -Mon Jun 4 05:42:06 2001 -\N -Thu May 31 11:08:02 2001 -Mon Jun 4 11:43:38 2001 -Mon Jun 4 16:57:34 2001 -Sun Jun 3 02:27:59 2001 -Sun Jun 3 06:17:20 2001 -Mon Jun 4 16:28:26 2001 -Wed May 30 01:10:30 2001 -Sat Jun 2 20:29:35 2001 -Tue May 29 01:41:22 2001 -Tue May 29 18:25:46 2001 -Tue May 29 23:20:17 2001 -Mon Jun 4 06:25:51 2001 -Sun Jun 3 10:51:58 2001 -Fri Jun 1 04:58:46 2001 -Wed May 30 14:42:19 2001 -\N -Thu May 31 17:27:52 2001 -Thu May 31 22:57:20 2001 -Wed May 30 10:29:59 2001 -Sun Jun 3 16:35:53 2001 -Sat Jun 2 16:59:23 2001 -Wed May 30 05:11:44 2001 -Fri Jun 1 13:47:01 2001 -Mon Jun 4 11:46:01 2001 -Mon Jun 4 02:59:47 2001 -\N -Thu May 31 22:14:50 2001 -\N -Sun Jun 3 12:32:00 2001 -Tue May 29 12:40:55 2001 -Thu May 31 15:03:50 2001 -Thu May 31 10:52:21 2001 -Fri Jun 1 21:57:09 2001 -Sun Jun 3 01:46:18 2001 -Sat Jun 2 22:09:17 2001 -Sat Jun 2 10:02:36 2001 -Fri Jun 1 19:22:54 2001 -Wed May 30 22:10:36 2001 -Sun Jun 3 12:51:15 2001 -Thu May 31 22:15:01 2001 -Sun Jun 3 12:53:11 2001 -Mon Jun 4 12:38:50 2001 -Sun Jun 3 12:32:48 2001 -Mon Jun 4 06:58:26 2001 -Sun Jun 3 16:38:46 2001 -Fri Jun 1 18:25:56 2001 -Sun Jun 3 01:18:29 2001 -Sun Jun 3 06:53:41 2001 -Fri Jun 1 01:21:40 2001 -Fri Jun 1 23:55:58 2001 -Mon Jun 4 06:48:52 2001 -Wed May 30 15:02:56 2001 -Sun Jun 3 09:39:30 2001 -Wed May 30 22:21:37 2001 -Fri Jun 1 02:14:43 2001 -Thu May 31 06:59:11 2001 -Thu May 31 04:29:50 2001 -Mon Jun 4 10:23:29 2001 -Mon Jun 4 17:11:31 2001 -\N -Sun Jun 3 11:03:19 2001 -Fri Jun 1 09:44:07 2001 diff --git a/contrib/btree_gist/expected/btree_gist.out b/contrib/btree_gist/expected/btree_gist.out deleted file mode 100644 index 2c7cbd620e..0000000000 --- a/contrib/btree_gist/expected/btree_gist.out +++ /dev/null @@ -1,39 +0,0 @@ --- --- first, define the datatype. Turn off echoing so that expected file --- does not depend on contents of seg.sql. --- -\set ECHO none -create table inttmp (b int4); -\copy inttmp from 'data/test_btree.data' -create table tstmp ( t timestamp without time zone ); -\copy tstmp from 'data/test_btree_ts.data' --- without idx -select count(*) from inttmp where b <=10; - count -------- - 11 -(1 row) - -select count(*) from tstmp where t < '2001-05-29 08:33:09'; - count -------- - 66 -(1 row) - --- create idx -create index aaaidx on inttmp using gist ( b ); -create index tsidx on tstmp using gist ( t ); ---with idx -set enable_seqscan=off; -select count(*) from inttmp where b <=10; - count -------- - 11 -(1 row) - -select count(*) from tstmp where t < '2001-05-29 08:33:09'; - count -------- - 66 -(1 row) - diff --git a/contrib/btree_gist/sql/btree_gist.sql b/contrib/btree_gist/sql/btree_gist.sql deleted file mode 100644 index 31c778b747..0000000000 --- a/contrib/btree_gist/sql/btree_gist.sql +++ /dev/null @@ -1,36 +0,0 @@ --- --- first, define the datatype. Turn off echoing so that expected file --- does not depend on contents of seg.sql. --- -\set ECHO none -\i btree_gist.sql -\set ECHO all - -create table inttmp (b int4); - -\copy inttmp from 'data/test_btree.data' - -create table tstmp ( t timestamp without time zone ); - -\copy tstmp from 'data/test_btree_ts.data' - --- without idx - -select count(*) from inttmp where b <=10; - -select count(*) from tstmp where t < '2001-05-29 08:33:09'; - --- create idx - -create index aaaidx on inttmp using gist ( b ); - -create index tsidx on tstmp using gist ( t ); - ---with idx - -set enable_seqscan=off; - -select count(*) from inttmp where b <=10; - -select count(*) from tstmp where t < '2001-05-29 08:33:09'; - diff --git a/contrib/chkpass/Makefile b/contrib/chkpass/Makefile deleted file mode 100644 index afa9ee46fa..0000000000 --- a/contrib/chkpass/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -# $Header: /cvsroot/pgsql/contrib/chkpass/Makefile,v 1.3 2001/09/06 10:49:29 petere Exp $ - -subdir = contrib/chkpass -top_builddir = ../.. -include $(top_builddir)/src/Makefile.global - -MODULES = chkpass -DATA_built = chkpass.sql -DOCS = README.chkpass - -include $(top_srcdir)/contrib/contrib-global.mk diff --git a/contrib/chkpass/README.chkpass b/contrib/chkpass/README.chkpass deleted file mode 100644 index 41b0dea99f..0000000000 --- a/contrib/chkpass/README.chkpass +++ /dev/null @@ -1,22 +0,0 @@ -$Header: /cvsroot/pgsql/contrib/chkpass/Attic/README.chkpass,v 1.1 2001/05/03 12:32:13 darcy Exp $ - -Chkpass is a password type that is automatically checked and converted upon -entry. It is stored encrypted. To compare, simply compare agains a clear -text password and the comparison function will encrypt it before comparing. -It also returns an error if the code determines that the password is easily -crackable. This is currently a stub that does nothing. - -I haven't worried about making this type indexable. I doubt that anyone -would ever need to sort a file in order of encrypted password. - -If you precede the string with a colon, the encryption and checking are -skipped so that you can enter existing passwords into the field. - -On output, a colon is prepended. This makes it possible to dump and reload -passwords without re-encrypting them. If you want the password (encrypted) -without the colon then use the raw() function. This allows you to use the -type with things like Apache's Auth_PostgreSQL module. - -D'Arcy J.M. Cain -darcy@druid.net - diff --git a/contrib/chkpass/chkpass.c b/contrib/chkpass/chkpass.c deleted file mode 100644 index b2e041f5ba..0000000000 --- a/contrib/chkpass/chkpass.c +++ /dev/null @@ -1,196 +0,0 @@ -/* - * PostgreSQL type definitions for chkpass - * Written by D'Arcy J.M. Cain - * darcy@druid.net - * http://www.druid.net/darcy/ - * - * $Id: chkpass.c,v 1.7 2001/12/19 18:49:24 petere Exp $ - * best viewed with tabs set to 4 - */ - -#include "postgres.h" - -#include -#include -#include -#include -#ifdef HAVE_CRYPT_H -#include -#endif - -#include "fmgr.h" - -/* - * This type encrypts it's input unless the first character is a colon. - * The output is the encrypted form with a leading colon. The output - * format is designed to allow dump and reload operations to work as - * expected without doing special tricks. - */ - - -/* - * This is the internal storage format for CHKPASSs. - * 15 is all I need but add a little buffer - */ - -typedef struct chkpass -{ - char password[16]; -} chkpass; - -/* - * Various forward declarations: - */ - -Datum chkpass_in(PG_FUNCTION_ARGS); -Datum chkpass_out(PG_FUNCTION_ARGS); -Datum chkpass_rout(PG_FUNCTION_ARGS); - -/* Only equal or not equal make sense */ -Datum chkpass_eq(PG_FUNCTION_ARGS); -Datum chkpass_ne(PG_FUNCTION_ARGS); - - -/* This function checks that the password is a good one - * It's just a placeholder for now */ -static int -verify_pass(const char *str) -{ - return 0; -} - -/* - * CHKPASS reader. - */ -PG_FUNCTION_INFO_V1(chkpass_in) -Datum -chkpass_in(PG_FUNCTION_ARGS) -{ - char *str = PG_GETARG_CSTRING(0); - chkpass *result; - char mysalt[4]; - static bool random_initialized = false; - static char salt_chars[] = - "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - - /* special case to let us enter encrypted passwords */ - if (*str == ':') - { - result = (chkpass *) palloc(sizeof(chkpass)); - strncpy(result->password, str + 1, 13); - result->password[13] = 0; - PG_RETURN_POINTER(result); - } - - if (verify_pass(str) != 0) - { - elog(ERROR, "chkpass_in: purported CHKPASS \"%s\" is a weak password", - str); - PG_RETURN_POINTER(NULL); - } - - result = (chkpass *) palloc(sizeof(chkpass)); - - if (!random_initialized) - { - srandom((unsigned int) time(NULL)); - random_initialized = true; - } - - mysalt[0] = salt_chars[random() & 0x3f]; - mysalt[1] = salt_chars[random() & 0x3f]; - mysalt[2] = 0; /* technically the terminator is not - * necessary but I like to play safe */ - strcpy(result->password, crypt(str, mysalt)); - PG_RETURN_POINTER(result); -} - -/* - * CHKPASS output function. - * Just like any string but we know it is max 15 (13 plus colon and terminator.) - */ - -PG_FUNCTION_INFO_V1(chkpass_out) -Datum -chkpass_out(PG_FUNCTION_ARGS) -{ - chkpass *password = (chkpass *) PG_GETARG_POINTER(0); - char *result; - - if (password == NULL) - PG_RETURN_POINTER(NULL); - - if ((result = (char *) palloc(16)) != NULL) - { - result[0] = ':'; - strcpy(result + 1, password->password); - } - - PG_RETURN_CSTRING(result); -} - - -/* - * special output function that doesn't output the colon - */ - -PG_FUNCTION_INFO_V1(chkpass_rout) -Datum -chkpass_rout(PG_FUNCTION_ARGS) -{ - chkpass *password = (chkpass *) PG_GETARG_POINTER(0); - text *result = NULL; - - if (password == NULL) - PG_RETURN_POINTER(NULL); - - if ((result = (text *) palloc(VARHDRSZ + 16)) != NULL) - { - result->vl_len = VARHDRSZ + strlen(password->password); - memcpy(result->vl_dat, password->password, strlen(password->password)); - } - - PG_RETURN_CSTRING(result); -} - - -/* - * Boolean tests - */ - -PG_FUNCTION_INFO_V1(chkpass_eq) -Datum -chkpass_eq(PG_FUNCTION_ARGS) -{ - chkpass *a1 = (chkpass *) PG_GETARG_POINTER(0); - text *a2 = (text *) PG_GETARG_TEXT_P(1); - char str[10]; - int sz = 8; - - if (!a1 || !a2) - PG_RETURN_BOOL(0); - - if (a2->vl_len < 12) - sz = a2->vl_len - 4; - strncpy(str, a2->vl_dat, sz); - str[sz] = 0; - PG_RETURN_BOOL(strcmp(a1->password, crypt(str, a1->password)) == 0); -} - -PG_FUNCTION_INFO_V1(chkpass_ne) -Datum -chkpass_ne(PG_FUNCTION_ARGS) -{ - chkpass *a1 = (chkpass *) PG_GETARG_POINTER(0); - text *a2 = (text *) PG_GETARG_TEXT_P(1); - char str[10]; - int sz = 8; - - if (!a1 || !a2) - PG_RETURN_BOOL(0); - if (a2->vl_len < 12) - sz = a2->vl_len - 4; - strncpy(str, a2->vl_dat, sz); - str[sz] = 0; - PG_RETURN_BOOL(strcmp(a1->password, crypt(str, a1->password)) != 0); -} diff --git a/contrib/chkpass/chkpass.sql.in b/contrib/chkpass/chkpass.sql.in deleted file mode 100644 index 72ad5e559c..0000000000 --- a/contrib/chkpass/chkpass.sql.in +++ /dev/null @@ -1,78 +0,0 @@ --- --- PostgreSQL code for CHKPASS. --- Written by D'Arcy J.M. Cain --- darcy@druid.net --- http://www.druid.net/darcy/ --- --- $Header: /cvsroot/pgsql/contrib/chkpass/chkpass.sql.in,v 1.1 2001/08/23 16:50:33 tgl Exp $ --- --- best viewed with tabs set to 4 --- - --- --- Input and output functions and the type itself: --- - -create function chkpass_in(opaque) - returns opaque - as 'MODULE_PATHNAME' - language 'c'; - -create function chkpass_out(opaque) - returns opaque - as 'MODULE_PATHNAME' - language 'c'; - -create type chkpass ( - internallength = 16, - externallength = 13, - input = chkpass_in, - output = chkpass_out -); - -create function raw(chkpass) - returns text - as 'MODULE_PATHNAME', 'chkpass_rout' - language 'c'; - --- --- The various boolean tests: --- - -create function eq(chkpass, text) - returns bool - as 'MODULE_PATHNAME', 'chkpass_eq' - language 'c'; - -create function ne(chkpass, text) - returns bool - as 'MODULE_PATHNAME', 'chkpass_ne' - language 'c'; - --- --- Now the operators. Note how some of the parameters to some --- of the 'create operator' commands are commented out. This --- is because they reference as yet undefined operators, and --- will be implicitly defined when those are, further down. --- - -create operator = ( - leftarg = chkpass, - rightarg = text, - commutator = =, --- negator = <>, - procedure = eq -); - -create operator <> ( - leftarg = chkpass, - rightarg = text, - negator = =, - procedure = ne -); - -COMMENT ON TYPE chkpass IS 'password type with checks'; - --- --- eof --- diff --git a/contrib/contrib-global.mk b/contrib/contrib-global.mk deleted file mode 100644 index 415cc273e7..0000000000 --- a/contrib/contrib-global.mk +++ /dev/null @@ -1,202 +0,0 @@ -# $Header: /cvsroot/pgsql/contrib/contrib-global.mk,v 1.2 2001/09/16 16:11:08 petere Exp $ - -# This file contains generic rules to build many kinds of simple -# contrib modules. You only need to set a few variables and include -# this file, the rest will be done here. -# -# Use the following layout for your Makefile: -# -# subdir = contrib/xxx -# top_builddir = ../.. -# include $(top_builddir)/src/Makefile.global -# -# [variable assignments, see below] -# [custom rules, rarely necessary] -# -# include $(top_srcdir)/contrib/contrib-global.mk -# -# The following variables can be set: -# -# MODULES -- list of shared objects to be build from source file with -# same stem (do not include suffix in this list) -# DATA -- random files to install into $PREFIX/share/contrib -# DATA_built -- random files to install into $PREFIX/share/contrib, -# which need to be built first -# DOCS -- random files to install under $PREFIX/doc/contrib -# SCRIPTS -- script files (not binaries) to install into $PREFIX/bin -# REGRESS -- list of regression test cases (without suffix) -# -# or at most one of these two: -# -# PROGRAM -- a binary program to build (list objects files in OBJS) -# MODULE_big -- a shared object to build (list object files in OBJS) -# -# The following can also be set: -# -# EXTRA_CLEAN -- extra files to remove in 'make clean' -# PG_CPPFLAGS -- will be added to CPPFLAGS -# PG_LIBS -- will be added to PROGRAM link line -# SHLIB_LINK -- will be added to MODULE_big link line -# -# Better look at some of the existing uses for examples... - - -override CPPFLAGS := -I$(srcdir) $(CPPFLAGS) - -ifdef MODULES -override CFLAGS += $(CFLAGS_SL) -override DLLLIBS := $(BE_DLLLIBS) $(DLLLIBS) -endif - -ifdef PG_CPPFLAGS -override CPPFLAGS := $(PG_CPPFLAGS) $(CPPFLAGS) -endif - -all: $(PROGRAM) $(DATA_built) $(addsuffix $(DLSUFFIX), $(MODULES)) - -ifdef MODULE_big -# shared library parameters -NAME = $(MODULE_big) -SO_MAJOR_VERSION= 0 -SO_MINOR_VERSION= 0 -rpath = - -override DLLLIBS := $(BE_DLLLIBS) $(DLLLIBS) - -include $(top_srcdir)/src/Makefile.shlib - -all: all-lib -endif # MODULE_big - - -install: all installdirs -ifneq (,$(DATA)$(DATA_built)) - @for file in $(addprefix $(srcdir)/, $(DATA)) $(DATA_built); do \ - echo "$(INSTALL_DATA) $$file $(DESTDIR)$(datadir)/contrib"; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(datadir)/contrib; \ - done -endif # DATA -ifdef MODULES - @for file in $(addsuffix $(DLSUFFIX), $(MODULES)); do \ - echo "$(INSTALL_SHLIB) $$file $(DESTDIR)$(pkglibdir)"; \ - $(INSTALL_SHLIB) $$file $(DESTDIR)$(pkglibdir); \ - done -endif # MODULES -ifdef DOCS - @for file in $(addprefix $(srcdir)/, $(DOCS)); do \ - echo "$(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/contrib"; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/contrib; \ - done -endif # DOCS -ifdef PROGRAM - $(INSTALL_PROGRAM) $(PROGRAM)$(X) $(DESTDIR)$(bindir) -endif # PROGRAM -ifdef MODULE_big - $(INSTALL_SHLIB) $(shlib) $(DESTDIR)$(pkglibdir)/$(MODULE_big)$(DLSUFFIX) -endif # MODULE_big -ifdef SCRIPTS - @for file in $(addprefix $(srcdir)/, $(SCRIPTS)); do \ - echo "$(INSTALL_SCRIPT) $$file $(DESTDIR)$(bindir)"; \ - $(INSTALL_SCRIPT) $$file $(DESTDIR)$(bindir); \ - done -endif # SCRIPTS - - -installdirs: -ifneq (,$(DATA)$(DATA_built)) - $(mkinstalldirs) $(DESTDIR)$(datadir)/contrib -endif -ifneq (,$(MODULES)$(MODULE_big)) - $(mkinstalldirs) $(DESTDIR)$(pkglibdir) -endif -ifdef DOCS - $(mkinstalldirs) $(DESTDIR)$(docdir)/contrib -endif -ifneq (,$(PROGRAM)$(SCRIPTS)) - $(mkinstalldirs) $(DESTDIR)$(bindir) -endif - - -uninstall: -ifneq (,$(DATA)$(DATA_built)) - rm -f $(addprefix $(DESTDIR)$(datadir)/contrib/, $(DATA) $(DATA_built)) -endif -ifdef MODULES - rm -f $(addprefix $(DESTDIR)$(pkglibdir)/, $(addsuffix $(DLSUFFIX), $(MODULES))) -endif -ifdef DOCS - rm -f $(addprefix $(DESTDIR)$(docdir)/contrib/, $(DOCS)) -endif -ifdef PROGRAM - rm -f $(DESTDIR)$(bindir)/$(PROGRAM)$(X) -endif -ifdef MODULE_big - rm -f $(DESTDIR)$(pkglibdir)/$(MODULE_big)$(DLSUFFIX) -endif -ifdef SCRIPTS - rm -f $(addprefix $(DESTDIR)$(bindir)/, $(SCRIPTS)) -endif - - -clean: -ifdef MODULES - rm -f $(addsuffix $(DLSUFFIX), $(MODULES)) $(addsuffix .o, $(MODULES)) -endif -ifdef DATA_built - rm -f $(DATA_built) -endif -ifdef PROGRAM - rm -f $(PROGRAM)$(X) -endif -ifdef OBJS - rm -f $(OBJS) -endif -ifdef EXTRA_CLEAN - rm -f $(EXTRA_CLEAN) -endif -ifdef REGRESS -# things created by various check targets - rm -rf results tmp_check log - rm -f regression.diffs regression.out regress.out run_check.out -ifeq ($(PORTNAME), win) - rm -f regress.def -endif -endif # REGRESS - -ifdef MODULE_big -clean: clean-lib -endif - -distclean maintainer-clean: clean - - -ifdef REGRESS -.PHONY: submake -submake: - $(MAKE) -C $(top_builddir)/src/test/regress pg_regress - -# against installed postmaster -installcheck: submake - $(top_builddir)/src/test/regress/pg_regress $(REGRESS) - -# in-tree test doesn't work yet (no way to install my shared library) -#check: all submake -# $(top_builddir)/src/test/regress/pg_regress --temp-install \ -# --top-builddir=$(top_builddir) $(REGRESS) -check: - @echo "'make check' is not supported." - @echo "Do 'make install', then 'make installcheck' instead." -endif # REGRESS - - -# STANDARD RULES - -ifneq (,$(MODULES)$(MODULE_big)) -%.sql: %.sql.in - sed 's,MODULE_PATHNAME,$$libdir/$*,g' $< >$@ -endif - -ifdef PROGRAM -$(PROGRAM): $(OBJS) - $(CC) $(CFLAGS) $(OBJS) $(PG_LIBS) $(LDFLAGS) $(LIBS) -o $@ -endif diff --git a/contrib/cube/Makefile b/contrib/cube/Makefile deleted file mode 100644 index 1bf47b90e9..0000000000 --- a/contrib/cube/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -# $Header: /cvsroot/pgsql/contrib/cube/Makefile,v 1.6 2001/11/16 16:32:33 petere Exp $ - -subdir = contrib/cube -top_builddir = ../.. -include $(top_builddir)/src/Makefile.global - -MODULE_big = cube -OBJS= cube.o cubeparse.o cubescan.o buffer.o - -DATA_built = cube.sql -DOCS = README.cube -REGRESS = cube - - -cubeparse.c: cubeparse.h ; - -cubeparse.h: cubeparse.y -ifdef YACC - $(YACC) -d $(YFLAGS) -p cube_yy $< - mv -f y.tab.c cubeparse.c - mv -f y.tab.h cubeparse.h -else - @$(missing) bison $< $@ -endif - -cubescan.c: cubescan.l -ifdef FLEX - $(FLEX) $(FLEXFLAGS) -Pcube_yy -o'$@' $< -else - @$(missing) flex $< $@ -endif - -EXTRA_CLEAN = cubeparse.c cubeparse.h cubescan.c y.tab.c y.tab.h - - -include $(top_srcdir)/contrib/contrib-global.mk diff --git a/contrib/cube/README.cube b/contrib/cube/README.cube deleted file mode 100644 index cba90f6744..0000000000 --- a/contrib/cube/README.cube +++ /dev/null @@ -1,289 +0,0 @@ -This directory contains the code for the user-defined type, -CUBE, representing multidimensional cubes. - - -FILES ------ - -Makefile building instructions for the shared library - -README.cube the file you are now reading - -buffer.c globals and buffer access utilities shared between - the parser (cubeparse.y) and the scanner (cubescan.l) - -buffer.h function prototypes for buffer.c - -cube.c the implementation of this data type in c - -cube.sql.in SQL code needed to register this type with postgres - (transformed to cube.sql by make) - -cubedata.h the data structure used to store the cubes - -cubeparse.y the grammar file for the parser (used by cube_in() in cube.c) - -cubescan.l scanner rules (used by cube_yyparse() in cubeparse.y) - - -INSTALLATION -============ - -To install the type, run - - make - make install - -For this to work, make sure that: - -. the cube source directory is in the postgres contrib directory -. the user running "make install" has postgres administrative authority -. this user's environment defines the PGLIB and PGDATA variables and has - postgres binaries in the PATH. - -This only installs the type implementation and documentation. To make the -type available in any particular database, do - - psql -d databasename < cube.sql - -If you install the type in the template1 database, all subsequently created -databases will inherit it. - -To test the new type, after "make install" do - - make installcheck - -If it fails, examine the file regression.diffs to find out the reason (the -test code is a direct adaptation of the regression tests from the main -source tree). - - -SYNTAX -====== - -The following are valid external representations for the CUBE type: - -'x' A floating point value representing - a one-dimensional point or one-dimensional - zero length cubement - -'(x)' Same as above - -'x1,x2,x3,...,xn' A point in n-dimensional space, - represented internally as a zero volume box - -'(x1,x2,x3,...,xn)' Same as above - -'(x),(y)' 1-D cubement starting at x and ending at y - or vice versa; the order does not matter - -'(x1,...,xn),(y1,...,yn)' n-dimensional box represented by - a pair of its opposite corners, no matter which. - Functions take care of swapping to achieve - "lower left -- upper right" representation - before computing any values - -Grammar -------- - -rule 1 box -> O_BRACKET paren_list COMMA paren_list C_BRACKET -rule 2 box -> paren_list COMMA paren_list -rule 3 box -> paren_list -rule 4 box -> list -rule 5 paren_list -> O_PAREN list C_PAREN -rule 6 list -> FLOAT -rule 7 list -> list COMMA FLOAT - -Tokens ------- - -n [0-9]+ -integer [+-]?{n} -real [+-]?({n}\.{n}?)|(\.{n}) -FLOAT ({integer}|{real})([eE]{integer})? -O_BRACKET \[ -C_BRACKET \] -O_PAREN \( -C_PAREN \) -COMMA \, - - -Examples of valid CUBE representations: --------------------------------------- - -'x' A floating point value representing - a one-dimensional point (or, zero-length - one-dimensional interval) - -'(x)' Same as above - -'x1,x2,x3,...,xn' A point in n-dimensional space, - represented internally as a zero volume cube - -'(x1,x2,x3,...,xn)' Same as above - -'(x),(y)' A 1-D interval starting at x and ending at y - or vice versa; the order does not matter - -'[(x),(y)]' Same as above - -'(x1,...,xn),(y1,...,yn)' An n-dimensional box represented by - a pair of its diagonally opposite corners, - regardless of order. Swapping is provided - by all comarison routines to ensure the - "lower left -- upper right" representation - before actaul comparison takes place. - -'[(x1,...,xn),(y1,...,yn)]' Same as above - - -White space is ignored, so '[(x),(y)]' can be: '[ ( x ), ( y ) ]' - - -DEFAULTS -======== - -I believe this union: - -select cube_union('(0,5,2),(2,3,1)','0'); -cube_union -------------------- -(0, 0, 0),(2, 5, 2) -(1 row) - -does not contradict to the common sense, neither does the intersection - -select cube_inter('(0,-1),(1,1)','(-2),(2)'); -cube_inter -------------- -(0, 0),(1, 0) -(1 row) - -In all binary operations on differently sized boxes, I assume the smaller -one to be a cartesian projection, i. e., having zeroes in place of coordinates -omitted in the string representation. The above examples are equivalent to: - -cube_union('(0,5,2),(2,3,1)','(0,0,0),(0,0,0)'); -cube_inter('(0,-1),(1,1)','(-2,0),(2,0)'); - - -The following containment predicate uses the point syntax, -while in fact the second argument is internally represented by a box. -This syntax makes it unnecessary to define the special Point type -and functions for (box,point) predicates. - -select cube_contains('(0,0),(1,1)', '0.5,0.5'); -cube_contains --------------- -t -(1 row) - - -PRECISION -========= - -Values are stored internally as 32-bit floating point numbers. This means that -numbers with more than 7 significant digits will be truncated. - - -USAGE -===== - -The access method for CUBE is a GiST (gist_cube_ops), which is a -generalization of R-tree. GiSTs allow the postgres implementation of -R-tree, originally encoded to support 2-D geometric types such as -boxes and polygons, to be used with any data type whose data domain -can be partitioned using the concepts of containment, intersection and -equality. In other words, everything that can intersect or contain -its own kind can be indexed with a GiST. That includes, among other -things, all geometric data types, regardless of their dimensionality -(see also contrib/seg). - -The operators supported by the GiST access method include: - - -[a, b] << [c, d] Is left of - - The left operand, [a, b], occurs entirely to the left of the - right operand, [c, d], on the axis (-inf, inf). It means, - [a, b] << [c, d] is true if b < c and false otherwise - -[a, b] >> [c, d] Is right of - - [a, b] is occurs entirely to the right of [c, d]. - [a, b] >> [c, d] is true if b > c and false otherwise - -[a, b] &< [c, d] Over left - - The cubement [a, b] overlaps the cubement [c, d] in such a way - that a <= c <= b and b <= d - -[a, b] &> [c, d] Over right - - The cubement [a, b] overlaps the cubement [c, d] in such a way - that a > c and b <= c <= d - -[a, b] = [c, d] Same as - - The cubements [a, b] and [c, d] are identical, that is, a == b - and c == d - -[a, b] @ [c, d] Contains - - The cubement [a, b] contains the cubement [c, d], that is, - a <= c and b >= d - -[a, b] @ [c, d] Contained in - - The cubement [a, b] is contained in [c, d], that is, - a >= c and b <= d - -Although the mnemonics of the following operators is questionable, I -preserved them to maintain visual consistency with other geometric -data types defined in Postgres. - -Other operators: - -[a, b] < [c, d] Less than -[a, b] > [c, d] Greater than - - These operators do not make a lot of sense for any practical - purpose but sorting. These operators first compare (a) to (c), - and if these are equal, compare (b) to (d). That accounts for - reasonably good sorting in most cases, which is useful if - you want to use ORDER BY with this type - -There are a few other potentially useful functions defined in cube.c -that vanished from the schema because I stopped using them. Some of -these were meant to support type casting. Let me know if I was wrong: -I will then add them back to the schema. I would also appreciate -other ideas that would enhance the type and make it more useful. - -For examples of usage, see sql/cube.sql - - -CREDITS -======= - -This code is essentially based on the example written for -Illustra, http://garcia.me.berkeley.edu/~adong/rtree - -My thanks are primarily to Prof. Joe Hellerstein -(http://db.cs.berkeley.edu/~jmh/) for elucidating the gist of the GiST -(http://gist.cs.berkeley.edu/), and to his former student, Andy Dong -(http://best.me.berkeley.edu/~adong/), for his exemplar. -I am also grateful to all postgres developers, present and past, for enabling -myself to create my own world and live undisturbed in it. And I would like to -acknowledge my gratitude to Argonne Lab and to the U.S. Department of Energy -for the years of faithful support of my database research. - ------------------------------------------------------------------------- -Gene Selkov, Jr. -Computational Scientist -Mathematics and Computer Science Division -Argonne National Laboratory -9700 S Cass Ave. -Building 221 -Argonne, IL 60439-4844 - -selkovjr@mcs.anl.gov diff --git a/contrib/cube/buffer.c b/contrib/cube/buffer.c deleted file mode 100644 index bab7ae303c..0000000000 --- a/contrib/cube/buffer.c +++ /dev/null @@ -1,84 +0,0 @@ -/* This module defines the parse buffer and routines for setting/reading it */ - -#include "postgres.h" - -#include "utils/elog.h" - -static char *PARSE_BUFFER; -static char *PARSE_BUFFER_PTR; -static unsigned int PARSE_BUFFER_SIZE; -static unsigned int SCANNER_POS; - -void set_parse_buffer(char *s); -void reset_parse_buffer(void); -int read_parse_buffer(void); -char *parse_buffer(void); -char *parse_buffer_ptr(void); -unsigned int parse_buffer_curr_char(void); -unsigned int parse_buffer_size(void); -unsigned int parse_buffer_pos(void); - -extern void cube_flush_scanner_buffer(void); /* defined in cubescan.l */ - -void -set_parse_buffer(char *s) -{ - PARSE_BUFFER = s; - PARSE_BUFFER_SIZE = strlen(s); - if (PARSE_BUFFER_SIZE == 0) - elog(ERROR, "cube_in: can't parse an empty string"); - PARSE_BUFFER_PTR = PARSE_BUFFER; - SCANNER_POS = 0; -} - -void -reset_parse_buffer(void) -{ - PARSE_BUFFER_PTR = PARSE_BUFFER; - SCANNER_POS = 0; - cube_flush_scanner_buffer(); -} - -int -read_parse_buffer(void) -{ - int c; - - /* - * c = *PARSE_BUFFER_PTR++; SCANNER_POS++; - */ - c = PARSE_BUFFER[SCANNER_POS]; - if (SCANNER_POS < PARSE_BUFFER_SIZE) - SCANNER_POS++; - return c; -} - -char * -parse_buffer(void) -{ - return PARSE_BUFFER; -} - -unsigned int -parse_buffer_curr_char(void) -{ - return PARSE_BUFFER[SCANNER_POS]; -} - -char * -parse_buffer_ptr(void) -{ - return PARSE_BUFFER_PTR; -} - -unsigned int -parse_buffer_pos(void) -{ - return SCANNER_POS; -} - -unsigned int -parse_buffer_size(void) -{ - return PARSE_BUFFER_SIZE; -} diff --git a/contrib/cube/buffer.h b/contrib/cube/buffer.h deleted file mode 100644 index eef9124dac..0000000000 --- a/contrib/cube/buffer.h +++ /dev/null @@ -1,8 +0,0 @@ -extern void set_parse_buffer(char *s); -extern void reset_parse_buffer(void); -extern int read_parse_buffer(void); -extern char *parse_buffer(void); -extern char *parse_buffer_ptr(void); -extern unsigned int parse_buffer_curr_char(void); -extern unsigned int parse_buffer_pos(void); -extern unsigned int parse_buffer_size(void); diff --git a/contrib/cube/cube.c b/contrib/cube/cube.c deleted file mode 100644 index c97e86d3b4..0000000000 --- a/contrib/cube/cube.c +++ /dev/null @@ -1,1174 +0,0 @@ -/****************************************************************************** - This file contains routines that can be bound to a Postgres backend and - called by the backend in the process of processing queries. The calling - format for these routines is dictated by Postgres architecture. -******************************************************************************/ - -#include "postgres.h" - -#include - -#include "access/gist.h" -#include "access/rtree.h" -#include "utils/elog.h" -#include "utils/palloc.h" -#include "utils/builtins.h" - -#include "cubedata.h" - -#define max(a,b) ((a) > (b) ? (a) : (b)) -#define min(a,b) ((a) <= (b) ? (a) : (b)) -#define abs(a) ((a) < (0) ? (-a) : (a)) - -extern void set_parse_buffer(char *str); -extern int cube_yyparse(); - -/* -** Input/Output routines -*/ -NDBOX *cube_in(char *str); -char *cube_out(NDBOX * cube); - - -/* -** GiST support methods -*/ -bool g_cube_consistent(GISTENTRY *entry, NDBOX * query, StrategyNumber strategy); -GISTENTRY *g_cube_compress(GISTENTRY *entry); -GISTENTRY *g_cube_decompress(GISTENTRY *entry); -float *g_cube_penalty(GISTENTRY *origentry, GISTENTRY *newentry, float *result); -GIST_SPLITVEC *g_cube_picksplit(bytea *entryvec, GIST_SPLITVEC *v); -bool g_cube_leaf_consistent(NDBOX * key, NDBOX * query, StrategyNumber strategy); -bool g_cube_internal_consistent(NDBOX * key, NDBOX * query, StrategyNumber strategy); -NDBOX *g_cube_union(bytea *entryvec, int *sizep); -NDBOX *g_cube_binary_union(NDBOX * r1, NDBOX * r2, int *sizep); -bool *g_cube_same(NDBOX * b1, NDBOX * b2, bool *result); - -/* -** R-tree support functions -*/ -bool cube_same(NDBOX * a, NDBOX * b); -bool cube_different(NDBOX * a, NDBOX * b); -bool cube_contains(NDBOX * a, NDBOX * b); -bool cube_contained(NDBOX * a, NDBOX * b); -bool cube_overlap(NDBOX * a, NDBOX * b); -NDBOX *cube_union(NDBOX * a, NDBOX * b); -NDBOX *cube_inter(NDBOX * a, NDBOX * b); -float *cube_size(NDBOX * a); -void rt_cube_size(NDBOX * a, float *sz); - -/* -** These make no sense for this type, but R-tree wants them -*/ -bool cube_over_left(NDBOX * a, NDBOX * b); -bool cube_over_right(NDBOX * a, NDBOX * b); -bool cube_left(NDBOX * a, NDBOX * b); -bool cube_right(NDBOX * a, NDBOX * b); - -/* -** miscellaneous -*/ -bool cube_lt(NDBOX * a, NDBOX * b); -bool cube_gt(NDBOX * a, NDBOX * b); -float *cube_distance(NDBOX * a, NDBOX * b); - -/* -** Auxiliary funxtions -*/ -static float distance_1D(float a1, float a2, float b1, float b2); -static NDBOX *swap_corners(NDBOX * a); - - -/***************************************************************************** - * Input/Output functions - *****************************************************************************/ - -/* NdBox = [(lowerleft),(upperright)] */ -/* [(xLL(1)...xLL(N)),(xUR(1)...xUR(n))] */ -NDBOX * -cube_in(char *str) -{ - void *result; - - set_parse_buffer(str); - - if (cube_yyparse(&result) != 0) - return NULL; - - return ((NDBOX *) result); -} - -/* - * You might have noticed a slight inconsistency between the following - * declaration and the SQL definition: - * CREATE FUNCTION cube_out(opaque) RETURNS opaque ... - * The reason is that the argument pass into cube_out is really just a - * pointer. POSTGRES thinks all output functions are: - * char *out_func(char *); - */ -char * -cube_out(NDBOX * cube) -{ - char *result; - char *p; - int equal = 1; - int dim = cube->dim; - int i; - - if (cube == NULL) - return (NULL); - - p = result = (char *) palloc(100); - - /* - * while printing the first (LL) corner, check if it is equal to the - * scond one - */ - p += sprintf(p, "("); - for (i = 0; i < dim; i++) - { - p += sprintf(p, "%g", cube->x[i]); - p += sprintf(p, ", "); - if (cube->x[i] != cube->x[i + dim]) - equal = 0; - } - p -= 2; /* get rid of the last ", " */ - p += sprintf(p, ")"); - - if (!equal) - { - p += sprintf(p, ",("); - for (i = dim; i < dim * 2; i++) - { - p += sprintf(p, "%g", cube->x[i]); - p += sprintf(p, ", "); - } - p -= 2; - p += sprintf(p, ")"); - } - - return (result); -} - - -/***************************************************************************** - * GiST functions - *****************************************************************************/ - -/* -** The GiST Consistent method for boxes -** Should return false if for all data items x below entry, -** the predicate x op query == FALSE, where op is the oper -** corresponding to strategy in the pg_amop table. -*/ -bool -g_cube_consistent(GISTENTRY *entry, - NDBOX * query, - StrategyNumber strategy) -{ - /* - * if entry is not leaf, use g_cube_internal_consistent, else use - * g_cube_leaf_consistent - */ - if (GIST_LEAF(entry)) - return g_cube_leaf_consistent((NDBOX *) DatumGetPointer(entry->key), - query, strategy); - else - return g_cube_internal_consistent((NDBOX *) DatumGetPointer(entry->key), - query, strategy); -} - - -/* -** The GiST Union method for boxes -** returns the minimal bounding box that encloses all the entries in entryvec -*/ -NDBOX * -g_cube_union(bytea *entryvec, int *sizep) -{ - int numranges, - i; - NDBOX *out = (NDBOX *) NULL; - NDBOX *tmp; - - /* - * fprintf(stderr, "union\n"); - */ - numranges = (VARSIZE(entryvec) - VARHDRSZ) / sizeof(GISTENTRY); - tmp = (NDBOX *) DatumGetPointer((((GISTENTRY *) (VARDATA(entryvec)))[0]).key); - - /* - * sizep = sizeof(NDBOX); -- NDBOX has variable size - */ - *sizep = tmp->size; - - for (i = 1; i < numranges; i++) - { - out = g_cube_binary_union(tmp, (NDBOX *) - DatumGetPointer((((GISTENTRY *) (VARDATA(entryvec)))[i]).key), - sizep); - if (i > 1) - pfree(tmp); - tmp = out; - } - - return (out); -} - -/* -** GiST Compress and Decompress methods for boxes -** do not do anything. -*/ -GISTENTRY * -g_cube_compress(GISTENTRY *entry) -{ - return (entry); -} - -GISTENTRY * -g_cube_decompress(GISTENTRY *entry) -{ - return (entry); -} - -/* -** The GiST Penalty method for boxes -** As in the R-tree paper, we use change in area as our penalty metric -*/ -float * -g_cube_penalty(GISTENTRY *origentry, GISTENTRY *newentry, float *result) -{ - NDBOX *ud; - float tmp1, - tmp2; - - ud = cube_union((NDBOX *) DatumGetPointer(origentry->key), - (NDBOX *) DatumGetPointer(newentry->key)); - rt_cube_size(ud, &tmp1); - rt_cube_size((NDBOX *) DatumGetPointer(origentry->key), &tmp2); - *result = tmp1 - tmp2; - pfree(ud); - - /* - * fprintf(stderr, "penalty\n"); fprintf(stderr, "\t%g\n", *result); - */ - return (result); -} - - - -/* -** The GiST PickSplit method for boxes -** We use Guttman's poly time split algorithm -*/ -GIST_SPLITVEC * -g_cube_picksplit(bytea *entryvec, - GIST_SPLITVEC *v) -{ - OffsetNumber i, - j; - NDBOX *datum_alpha, - *datum_beta; - NDBOX *datum_l, - *datum_r; - NDBOX *union_d, - *union_dl, - *union_dr; - NDBOX *inter_d; - bool firsttime; - float size_alpha, - size_beta, - size_union, - size_inter; - float size_waste, - waste; - float size_l, - size_r; - int nbytes; - OffsetNumber seed_1 = 0, - seed_2 = 0; - OffsetNumber *left, - *right; - OffsetNumber maxoff; - - /* - * fprintf(stderr, "picksplit\n"); - */ - maxoff = ((VARSIZE(entryvec) - VARHDRSZ) / sizeof(GISTENTRY)) - 2; - nbytes = (maxoff + 2) * sizeof(OffsetNumber); - v->spl_left = (OffsetNumber *) palloc(nbytes); - v->spl_right = (OffsetNumber *) palloc(nbytes); - - firsttime = true; - waste = 0.0; - - for (i = FirstOffsetNumber; i < maxoff; i = OffsetNumberNext(i)) - { - datum_alpha = (NDBOX *) DatumGetPointer(((GISTENTRY *) (VARDATA(entryvec)))[i].key); - for (j = OffsetNumberNext(i); j <= maxoff; j = OffsetNumberNext(j)) - { - datum_beta = (NDBOX *) DatumGetPointer(((GISTENTRY *) (VARDATA(entryvec)))[j].key); - - /* compute the wasted space by unioning these guys */ - /* size_waste = size_union - size_inter; */ - union_d = cube_union(datum_alpha, datum_beta); - rt_cube_size(union_d, &size_union); - inter_d = cube_inter(datum_alpha, datum_beta); - rt_cube_size(inter_d, &size_inter); - size_waste = size_union - size_inter; - - pfree(union_d); - - if (inter_d != (NDBOX *) NULL) - pfree(inter_d); - - /* - * are these a more promising split than what we've already - * seen? - */ - - if (size_waste > waste || firsttime) - { - waste = size_waste; - seed_1 = i; - seed_2 = j; - firsttime = false; - } - } - } - - left = v->spl_left; - v->spl_nleft = 0; - right = v->spl_right; - v->spl_nright = 0; - - datum_alpha = (NDBOX *) DatumGetPointer(((GISTENTRY *) (VARDATA(entryvec)))[seed_1].key); - datum_l = cube_union(datum_alpha, datum_alpha); - rt_cube_size(datum_l, &size_l); - datum_beta = (NDBOX *) DatumGetPointer(((GISTENTRY *) (VARDATA(entryvec)))[seed_2].key); - datum_r = cube_union(datum_beta, datum_beta); - rt_cube_size(datum_r, &size_r); - - /* - * Now split up the regions between the two seeds. An important - * property of this split algorithm is that the split vector v has the - * indices of items to be split in order in its left and right - * vectors. We exploit this property by doing a merge in the code - * that actually splits the page. - * - * For efficiency, we also place the new index tuple in this loop. This - * is handled at the very end, when we have placed all the existing - * tuples and i == maxoff + 1. - */ - - maxoff = OffsetNumberNext(maxoff); - for (i = FirstOffsetNumber; i <= maxoff; i = OffsetNumberNext(i)) - { - /* - * If we've already decided where to place this item, just put it - * on the right list. Otherwise, we need to figure out which page - * needs the least enlargement in order to store the item. - */ - - if (i == seed_1) - { - *left++ = i; - v->spl_nleft++; - continue; - } - else if (i == seed_2) - { - *right++ = i; - v->spl_nright++; - continue; - } - - /* okay, which page needs least enlargement? */ - datum_alpha = (NDBOX *) DatumGetPointer(((GISTENTRY *) (VARDATA(entryvec)))[i].key); - union_dl = cube_union(datum_l, datum_alpha); - union_dr = cube_union(datum_r, datum_alpha); - rt_cube_size(union_dl, &size_alpha); - rt_cube_size(union_dr, &size_beta); - - /* pick which page to add it to */ - if (size_alpha - size_l < size_beta - size_r) - { - pfree(datum_l); - pfree(union_dr); - datum_l = union_dl; - size_l = size_alpha; - *left++ = i; - v->spl_nleft++; - } - else - { - pfree(datum_r); - pfree(union_dl); - datum_r = union_dr; - size_r = size_alpha; - *right++ = i; - v->spl_nright++; - } - } - *left = *right = FirstOffsetNumber; /* sentinel value, see dosplit() */ - - v->spl_ldatum = PointerGetDatum(datum_l); - v->spl_rdatum = PointerGetDatum(datum_r); - - return v; -} - -/* -** Equality method -*/ -bool * -g_cube_same(NDBOX * b1, NDBOX * b2, bool *result) -{ - if (cube_same(b1, b2)) - *result = TRUE; - else - *result = FALSE; - - /* - * fprintf(stderr, "same: %s\n", (*result ? "TRUE" : "FALSE" )); - */ - return (result); -} - -/* -** SUPPORT ROUTINES -*/ -bool -g_cube_leaf_consistent(NDBOX * key, - NDBOX * query, - StrategyNumber strategy) -{ - bool retval; - - /* - * fprintf(stderr, "leaf_consistent, %d\n", strategy); - */ - switch (strategy) - { - case RTLeftStrategyNumber: - retval = (bool) cube_left(key, query); - break; - case RTOverLeftStrategyNumber: - retval = (bool) cube_over_left(key, query); - break; - case RTOverlapStrategyNumber: - retval = (bool) cube_overlap(key, query); - break; - case RTOverRightStrategyNumber: - retval = (bool) cube_over_right(key, query); - break; - case RTRightStrategyNumber: - retval = (bool) cube_right(key, query); - break; - case RTSameStrategyNumber: - retval = (bool) cube_same(key, query); - break; - case RTContainsStrategyNumber: - retval = (bool) cube_contains(key, query); - break; - case RTContainedByStrategyNumber: - retval = (bool) cube_contained(key, query); - break; - default: - retval = FALSE; - } - return (retval); -} - -bool -g_cube_internal_consistent(NDBOX * key, - NDBOX * query, - StrategyNumber strategy) -{ - bool retval; - - /* - * fprintf(stderr, "internal_consistent, %d\n", strategy); - */ - switch (strategy) - { - case RTLeftStrategyNumber: - case RTOverLeftStrategyNumber: - retval = (bool) cube_over_left(key, query); - break; - case RTOverlapStrategyNumber: - retval = (bool) cube_overlap(key, query); - break; - case RTOverRightStrategyNumber: - case RTRightStrategyNumber: - retval = (bool) cube_right(key, query); - break; - case RTSameStrategyNumber: - case RTContainsStrategyNumber: - retval = (bool) cube_contains(key, query); - break; - case RTContainedByStrategyNumber: - retval = (bool) cube_overlap(key, query); - break; - default: - retval = FALSE; - } - return (retval); -} - -NDBOX * -g_cube_binary_union(NDBOX * r1, NDBOX * r2, int *sizep) -{ - NDBOX *retval; - - retval = cube_union(r1, r2); - *sizep = retval->size; - - return (retval); -} - - -/* cube_union */ -NDBOX * -cube_union(NDBOX * box_a, NDBOX * box_b) -{ - int i; - NDBOX *result; - NDBOX *a = swap_corners(box_a); - NDBOX *b = swap_corners(box_b); - - if (a->dim >= b->dim) - { - result = palloc(a->size); - result->size = a->size; - result->dim = a->dim; - } - else - { - result = palloc(b->size); - result->size = b->size; - result->dim = b->dim; - } - - /* swap the box pointers if needed */ - if (a->dim < b->dim) - { - NDBOX *tmp = b; - - b = a; - a = tmp; - } - - /* - * use the potentially smaller of the two boxes (b) to fill in the - * result, padding absent dimensions with zeroes - */ - for (i = 0; i < b->dim; i++) - { - result->x[i] = b->x[i]; - result->x[i + a->dim] = b->x[i + b->dim]; - } - for (i = b->dim; i < a->dim; i++) - { - result->x[i] = 0; - result->x[i + a->dim] = 0; - } - - /* compute the union */ - for (i = 0; i < a->dim; i++) - result->x[i] = min(a->x[i], result->x[i]); - for (i = a->dim; i < a->dim * 2; i++) - result->x[i] = max(a->x[i], result->x[i]); - - pfree(a); - pfree(b); - - return (result); -} - -/* cube_inter */ -NDBOX * -cube_inter(NDBOX * box_a, NDBOX * box_b) -{ - int i; - NDBOX *result; - NDBOX *a = swap_corners(box_a); - NDBOX *b = swap_corners(box_b); - - if (a->dim >= b->dim) - { - result = palloc(a->size); - result->size = a->size; - result->dim = a->dim; - } - else - { - result = palloc(b->size); - result->size = b->size; - result->dim = b->dim; - } - - /* swap the box pointers if needed */ - if (a->dim < b->dim) - { - NDBOX *tmp = b; - - b = a; - a = tmp; - } - - /* - * use the potentially smaller of the two boxes (b) to fill in the - * result, padding absent dimensions with zeroes - */ - for (i = 0; i < b->dim; i++) - { - result->x[i] = b->x[i]; - result->x[i + a->dim] = b->x[i + b->dim]; - } - for (i = b->dim; i < a->dim; i++) - { - result->x[i] = 0; - result->x[i + a->dim] = 0; - } - - /* compute the intersection */ - for (i = 0; i < a->dim; i++) - result->x[i] = max(a->x[i], result->x[i]); - for (i = a->dim; i < a->dim * 2; i++) - result->x[i] = min(a->x[i], result->x[i]); - - pfree(a); - pfree(b); - - /* - * Is it OK to return a non-null intersection for non-overlapping - * boxes? - */ - return (result); -} - -/* cube_size */ -float * -cube_size(NDBOX * a) -{ - int i, - j; - float *result; - - result = (float *) palloc(sizeof(float)); - - *result = 1.0; - for (i = 0, j = a->dim; i < a->dim; i++, j++) - *result = (*result) * abs((a->x[j] - a->x[i])); - - return (result); -} - -void -rt_cube_size(NDBOX * a, float *size) -{ - int i, - j; - - if (a == (NDBOX *) NULL) - *size = 0.0; - else - { - *size = 1.0; - for (i = 0, j = a->dim; i < a->dim; i++, j++) - *size = (*size) * abs((a->x[j] - a->x[i])); - } - return; -} - -/* The following four methods compare the projections of the boxes - onto the 0-th coordinate axis. These methods are useless for dimensions - larger than 2, but it seems that R-tree requires all its strategies - map to real functions that return something */ - -/* is the right edge of (a) located to the left of - the right edge of (b)? */ -bool -cube_over_left(NDBOX * box_a, NDBOX * box_b) -{ - NDBOX *a; - NDBOX *b; - - if ((box_a == NULL) || (box_b == NULL)) - return (FALSE); - - a = swap_corners(box_a); - b = swap_corners(box_b); - - return (a->x[a->dim - 1] <= b->x[b->dim - 1] && !cube_left(a, b) && !cube_right(a, b)); -} - -/* is the left edge of (a) located to the right of - the left edge of (b)? */ -bool -cube_over_right(NDBOX * box_a, NDBOX * box_b) -{ - NDBOX *a; - NDBOX *b; - - if ((box_a == NULL) || (box_b == NULL)) - return (FALSE); - - a = swap_corners(box_a); - b = swap_corners(box_b); - - return (a->x[a->dim - 1] >= b->x[b->dim - 1] && !cube_left(a, b) && !cube_right(a, b)); -} - - -/* return 'true' if the projection of 'a' is - entirely on the left of the projection of 'b' */ -bool -cube_left(NDBOX * box_a, NDBOX * box_b) -{ - NDBOX *a; - NDBOX *b; - - if ((box_a == NULL) || (box_b == NULL)) - return (FALSE); - - a = swap_corners(box_a); - b = swap_corners(box_b); - - return (a->x[a->dim - 1] < b->x[0]); -} - -/* return 'true' if the projection of 'a' is - entirely on the right of the projection of 'b' */ -bool -cube_right(NDBOX * box_a, NDBOX * box_b) -{ - NDBOX *a; - NDBOX *b; - - if ((box_a == NULL) || (box_b == NULL)) - return (FALSE); - - a = swap_corners(box_a); - b = swap_corners(box_b); - - return (a->x[0] > b->x[b->dim - 1]); -} - -/* make up a metric in which one box will be 'lower' than the other - -- this can be useful for srting and to determine uniqueness */ -bool -cube_lt(NDBOX * box_a, NDBOX * box_b) -{ - int i; - int dim; - NDBOX *a; - NDBOX *b; - - if ((box_a == NULL) || (box_b == NULL)) - return (FALSE); - - a = swap_corners(box_a); - b = swap_corners(box_b); - dim = min(a->dim, b->dim); - - /* - * if all common dimensions are equal, the cube with more dimensions - * wins - */ - if (cube_same(a, b)) - { - if (a->dim < b->dim) - return (TRUE); - else - return (FALSE); - } - - /* compare the common dimensions */ - for (i = 0; i < dim; i++) - { - if (a->x[i] > b->x[i]) - return (FALSE); - if (a->x[i] < b->x[i]) - return (TRUE); - } - for (i = 0; i < dim; i++) - { - if (a->x[i + a->dim] > b->x[i + b->dim]) - return (FALSE); - if (a->x[i + a->dim] < b->x[i + b->dim]) - return (TRUE); - } - - /* compare extra dimensions to zero */ - if (a->dim > b->dim) - { - for (i = dim; i < a->dim; i++) - { - if (a->x[i] > 0) - return (FALSE); - if (a->x[i] < 0) - return (TRUE); - } - for (i = 0; i < dim; i++) - { - if (a->x[i + a->dim] > 0) - return (FALSE); - if (a->x[i + a->dim] < 0) - return (TRUE); - } - } - if (a->dim < b->dim) - { - for (i = dim; i < b->dim; i++) - { - if (b->x[i] > 0) - return (TRUE); - if (b->x[i] < 0) - return (FALSE); - } - for (i = 0; i < dim; i++) - { - if (b->x[i + b->dim] > 0) - return (TRUE); - if (b->x[i + b->dim] < 0) - return (FALSE); - } - } - - return (FALSE); -} - - -bool -cube_gt(NDBOX * box_a, NDBOX * box_b) -{ - int i; - int dim; - NDBOX *a; - NDBOX *b; - - if ((box_a == NULL) || (box_b == NULL)) - return (FALSE); - - a = swap_corners(box_a); - b = swap_corners(box_b); - dim = min(a->dim, b->dim); - - /* - * if all common dimensions are equal, the cube with more dimensions - * wins - */ - if (cube_same(a, b)) - { - if (a->dim > b->dim) - return (TRUE); - else - return (FALSE); - } - - /* compare the common dimensions */ - for (i = 0; i < dim; i++) - { - if (a->x[i] < b->x[i]) - return (FALSE); - if (a->x[i] > b->x[i]) - return (TRUE); - } - for (i = 0; i < dim; i++) - { - if (a->x[i + a->dim] < b->x[i + b->dim]) - return (FALSE); - if (a->x[i + a->dim] > b->x[i + b->dim]) - return (TRUE); - } - - - /* compare extra dimensions to zero */ - if (a->dim > b->dim) - { - for (i = dim; i < a->dim; i++) - { - if (a->x[i] < 0) - return (FALSE); - if (a->x[i] > 0) - return (TRUE); - } - for (i = 0; i < dim; i++) - { - if (a->x[i + a->dim] < 0) - return (FALSE); - if (a->x[i + a->dim] > 0) - return (TRUE); - } - } - if (a->dim < b->dim) - { - for (i = dim; i < b->dim; i++) - { - if (b->x[i] < 0) - return (TRUE); - if (b->x[i] > 0) - return (FALSE); - } - for (i = 0; i < dim; i++) - { - if (b->x[i + b->dim] < 0) - return (TRUE); - if (b->x[i + b->dim] > 0) - return (FALSE); - } - } - - return (FALSE); -} - - -/* Equal */ -bool -cube_same(NDBOX * box_a, NDBOX * box_b) -{ - int i; - NDBOX *a; - NDBOX *b; - - if ((box_a == NULL) || (box_b == NULL)) - return (FALSE); - - a = swap_corners(box_a); - b = swap_corners(box_b); - - /* swap the box pointers if necessary */ - if (a->dim < b->dim) - { - NDBOX *tmp = b; - - b = a; - a = tmp; - } - - for (i = 0; i < b->dim; i++) - { - if (a->x[i] != b->x[i]) - return (FALSE); - if (a->x[i + a->dim] != b->x[i + b->dim]) - return (FALSE); - } - - /* - * all dimensions of (b) are compared to those of (a); instead of - * those in (a) absent in (b), compare (a) to zero - */ - for (i = b->dim; i < a->dim; i++) - { - if (a->x[i] != 0) - return (FALSE); - if (a->x[i + a->dim] != 0) - return (FALSE); - } - - pfree(a); - pfree(b); - - return (TRUE); -} - -/* Different */ -bool -cube_different(NDBOX * box_a, NDBOX * box_b) -{ - return (!cube_same(box_a, box_b)); -} - - -/* Contains */ -/* Box(A) CONTAINS Box(B) IFF pt(A) < pt(B) */ -bool -cube_contains(NDBOX * box_a, NDBOX * box_b) -{ - int i; - NDBOX *a; - NDBOX *b; - - if ((box_a == NULL) || (box_b == NULL)) - return (FALSE); - - a = swap_corners(box_a); - b = swap_corners(box_b); - - if (a->dim < b->dim) - { - /* - * the further comparisons will make sense if the excess - * dimensions of (b) were zeroes - */ - for (i = a->dim; i < b->dim; i++) - { - if (b->x[i] != 0) - return (FALSE); - if (b->x[i + b->dim] != 0) - return (FALSE); - } - } - - /* Can't care less about the excess dimensions of (a), if any */ - for (i = 0; i < min(a->dim, b->dim); i++) - { - if (a->x[i] > b->x[i]) - return (FALSE); - if (a->x[i + a->dim] < b->x[i + b->dim]) - return (FALSE); - } - - pfree(a); - pfree(b); - - return (TRUE); -} - -/* Contained */ -/* Box(A) Contained by Box(B) IFF Box(B) Contains Box(A) */ -bool -cube_contained(NDBOX * a, NDBOX * b) -{ - if (cube_contains(b, a) == TRUE) - return (TRUE); - else - return (FALSE); -} - -/* Overlap */ -/* Box(A) Overlap Box(B) IFF (pt(a)LL < pt(B)UR) && (pt(b)LL < pt(a)UR) */ -bool -cube_overlap(NDBOX * box_a, NDBOX * box_b) -{ - int i; - NDBOX *a; - NDBOX *b; - - /* - * This *very bad* error was found in the source: if ( (a==NULL) || - * (b=NULL) ) return(FALSE); - */ - if ((box_a == NULL) || (box_b == NULL)) - return (FALSE); - - a = swap_corners(box_a); - b = swap_corners(box_b); - - /* swap the box pointers if needed */ - if (a->dim < b->dim) - { - NDBOX *tmp = b; - - b = a; - a = tmp; - } - - /* compare within the dimensions of (b) */ - for (i = 0; i < b->dim; i++) - { - if (a->x[i] > b->x[i + b->dim]) - return (FALSE); - if (a->x[i + a->dim] < b->x[i]) - return (FALSE); - } - - /* compare to zero those dimensions in (a) absent in (b) */ - for (i = b->dim; i < a->dim; i++) - { - if (a->x[i] > 0) - return (FALSE); - if (a->x[i + a->dim] < 0) - return (FALSE); - } - - pfree(a); - pfree(b); - - return (TRUE); -} - - -/* Distance */ -/* The distance is computed as a per axis sum of the squared distances - between 1D projections of the boxes onto Cartesian axes. Assuming zero - distance between overlapping projections, this metric coincides with the - "common sense" geometric distance */ -float * -cube_distance(NDBOX * a, NDBOX * b) -{ - int i; - double d, - distance; - float *result; - - result = (float *) palloc(sizeof(float)); - - /* swap the box pointers if needed */ - if (a->dim < b->dim) - { - NDBOX *tmp = b; - - b = a; - a = tmp; - } - - distance = 0.0; - /* compute within the dimensions of (b) */ - for (i = 0; i < b->dim; i++) - { - d = distance_1D(a->x[i], a->x[i + a->dim], b->x[i], b->x[i + b->dim]); - distance += d * d; - } - - /* compute distance to zero for those dimensions in (a) absent in (b) */ - for (i = b->dim; i < a->dim; i++) - { - d = distance_1D(a->x[i], a->x[i + a->dim], 0.0, 0.0); - distance += d * d; - } - - *result = (float) sqrt(distance); - - return (result); -} - -static float -distance_1D(float a1, float a2, float b1, float b2) -{ - /* interval (a) is entirely on the left of (b) */ - if ((a1 <= b1) && (a2 <= b1) && (a1 <= b2) && (a2 <= b2)) - return (min(b1, b2) - max(a1, a2)); - - /* interval (a) is entirely on the right of (b) */ - if ((a1 > b1) && (a2 > b1) && (a1 > b2) && (a2 > b2)) - return (min(a1, a2) - max(b1, b2)); - - /* the rest are all sorts of intersections */ - return (0.0); -} - -/* normalize the box's co-ordinates by placing min(xLL,xUR) to LL - and max(xLL,xUR) to UR -*/ -static NDBOX * -swap_corners(NDBOX * a) -{ - int i, - j; - NDBOX *result; - - result = palloc(a->size); - result->size = a->size; - result->dim = a->dim; - - for (i = 0, j = a->dim; i < a->dim; i++, j++) - { - result->x[i] = min(a->x[i], a->x[j]); - result->x[j] = max(a->x[i], a->x[j]); - } - - return (result); -} diff --git a/contrib/cube/cube.sql.in b/contrib/cube/cube.sql.in deleted file mode 100644 index a1a78ca9f5..0000000000 --- a/contrib/cube/cube.sql.in +++ /dev/null @@ -1,372 +0,0 @@ --- Create the user-defined type for N-dimensional boxes --- -BEGIN TRANSACTION; - -CREATE FUNCTION cube_in(opaque) -RETURNS opaque -AS 'MODULE_PATHNAME' -LANGUAGE 'c'; - -CREATE FUNCTION cube_out(opaque) -RETURNS opaque -AS 'MODULE_PATHNAME' -LANGUAGE 'c'; - -CREATE TYPE cube ( -internallength = variable, -input = cube_in, -output = cube_out -); - -COMMENT ON TYPE cube IS -'multi-dimensional cube ''(FLOAT-1, FLOAT-2, ..., FLOAT-N), (FLOAT-1, FLOAT-2, ..., FLOAT-N)'''; - --- --- External C-functions for R-tree methods --- - --- Left/Right methods - -CREATE FUNCTION cube_over_left(cube, cube) RETURNS bool - AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); - -COMMENT ON FUNCTION cube_over_left(cube, cube) IS -'is over and left of (NOT IMPLEMENTED)'; - -CREATE FUNCTION cube_over_right(cube, cube) RETURNS bool - AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); - -COMMENT ON FUNCTION cube_over_right(cube, cube) IS -'is over and right of (NOT IMPLEMENTED)'; - -CREATE FUNCTION cube_left(cube, cube) RETURNS bool - AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); - -COMMENT ON FUNCTION cube_left(cube, cube) IS -'is left of (NOT IMPLEMENTED)'; - -CREATE FUNCTION cube_right(cube, cube) RETURNS bool - AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); - -COMMENT ON FUNCTION cube_right(cube, cube) IS -'is right of (NOT IMPLEMENTED)'; - - --- Comparison methods - -CREATE FUNCTION cube_lt(cube, cube) RETURNS bool - AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); - -COMMENT ON FUNCTION cube_lt(cube, cube) IS -'lower than'; - -CREATE FUNCTION cube_gt(cube, cube) RETURNS bool - AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); - -COMMENT ON FUNCTION cube_gt(cube, cube) IS -'greater than'; - -CREATE FUNCTION cube_contains(cube, cube) RETURNS bool - AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); - -COMMENT ON FUNCTION cube_contains(cube, cube) IS -'contains'; - -CREATE FUNCTION cube_contained(cube, cube) RETURNS bool - AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); - -COMMENT ON FUNCTION cube_contained(cube, cube) IS -'contained in'; - -CREATE FUNCTION cube_overlap(cube, cube) RETURNS bool - AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); - -COMMENT ON FUNCTION cube_overlap(cube, cube) IS -'overlaps'; - -CREATE FUNCTION cube_same(cube, cube) RETURNS bool - AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); - -COMMENT ON FUNCTION cube_same(cube, cube) IS -'same as'; - -CREATE FUNCTION cube_different(cube, cube) RETURNS bool - AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); - -COMMENT ON FUNCTION cube_different(cube, cube) IS -'different'; - --- support routines for indexing - -CREATE FUNCTION cube_union(cube, cube) RETURNS cube - AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); - -CREATE FUNCTION cube_inter(cube, cube) RETURNS cube - AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); - -CREATE FUNCTION cube_size(cube) RETURNS float4 - AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); - - --- Misc N-dimensional functions - --- proximity routines - -CREATE FUNCTION cube_distance(cube, cube) RETURNS float4 - AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); - - --- --- OPERATORS --- - -CREATE OPERATOR < ( - LEFTARG = cube, RIGHTARG = cube, PROCEDURE = cube_lt, - COMMUTATOR = '>', - RESTRICT = scalarltsel, JOIN = scalarltjoinsel -); - -CREATE OPERATOR > ( - LEFTARG = cube, RIGHTARG = cube, PROCEDURE = cube_gt, - COMMUTATOR = '<', - RESTRICT = scalargtsel, JOIN = scalargtjoinsel -); - -CREATE OPERATOR << ( - LEFTARG = cube, RIGHTARG = cube, PROCEDURE = cube_left, - COMMUTATOR = '>>', - RESTRICT = positionsel, JOIN = positionjoinsel -); - -CREATE OPERATOR &< ( - LEFTARG = cube, RIGHTARG = cube, PROCEDURE = cube_over_left, - COMMUTATOR = '&>', - RESTRICT = positionsel, JOIN = positionjoinsel -); - -CREATE OPERATOR && ( - LEFTARG = cube, RIGHTARG = cube, PROCEDURE = cube_overlap, - COMMUTATOR = '&&', - RESTRICT = positionsel, JOIN = positionjoinsel -); - -CREATE OPERATOR &> ( - LEFTARG = cube, RIGHTARG = cube, PROCEDURE = cube_over_right, - COMMUTATOR = '&<', - RESTRICT = positionsel, JOIN = positionjoinsel -); - -CREATE OPERATOR >> ( - LEFTARG = cube, RIGHTARG = cube, PROCEDURE = cube_right, - COMMUTATOR = '<<', - RESTRICT = positionsel, JOIN = positionjoinsel -); - -CREATE OPERATOR = ( - LEFTARG = cube, RIGHTARG = cube, PROCEDURE = cube_same, - COMMUTATOR = '=', NEGATOR = '<>', - RESTRICT = eqsel, JOIN = eqjoinsel, - SORT1 = '<', SORT2 = '<' -); - -CREATE OPERATOR <> ( - LEFTARG = cube, RIGHTARG = cube, PROCEDURE = cube_different, - COMMUTATOR = '<>', NEGATOR = '=', - RESTRICT = neqsel, JOIN = neqjoinsel -); - -CREATE OPERATOR @ ( - LEFTARG = cube, RIGHTARG = cube, PROCEDURE = cube_contains, - COMMUTATOR = '~', - RESTRICT = contsel, JOIN = contjoinsel -); - -CREATE OPERATOR ~ ( - LEFTARG = cube, RIGHTARG = cube, PROCEDURE = cube_contained, - COMMUTATOR = '@', - RESTRICT = contsel, JOIN = contjoinsel -); - - --- define the GiST support methods -CREATE FUNCTION g_cube_consistent(opaque,cube,int4) RETURNS bool - AS 'MODULE_PATHNAME' LANGUAGE 'c'; - -CREATE FUNCTION g_cube_compress(opaque) RETURNS opaque - AS 'MODULE_PATHNAME' LANGUAGE 'c'; - -CREATE FUNCTION g_cube_decompress(opaque) RETURNS opaque - AS 'MODULE_PATHNAME' LANGUAGE 'c'; - -CREATE FUNCTION g_cube_penalty(opaque,opaque,opaque) RETURNS opaque - AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); - -CREATE FUNCTION g_cube_picksplit(opaque, opaque) RETURNS opaque - AS 'MODULE_PATHNAME' LANGUAGE 'c'; - -CREATE FUNCTION g_cube_union(bytea, opaque) RETURNS cube - AS 'MODULE_PATHNAME' LANGUAGE 'c'; - -CREATE FUNCTION g_cube_same(cube, cube, opaque) RETURNS opaque - AS 'MODULE_PATHNAME' LANGUAGE 'c'; - - --- register the default opclass for indexing -INSERT INTO pg_opclass (opcamid, opcname, opcnamespace, opcowner, opcintype, opcdefault, opckeytype) - VALUES ( - (SELECT oid FROM pg_am WHERE amname = 'gist'), - 'gist_cube_ops', - (SELECT oid FROM pg_namespace WHERE nspname = 'pg_catalog'), - 1, -- UID of superuser is hardwired to 1 as of PG 7.3 - (SELECT oid FROM pg_type WHERE typname = 'cube'), - true, - 0); - - --- get the comparators for boxes and store them in a tmp table -SELECT o.oid AS opoid, o.oprname -INTO TEMP TABLE gist_cube_ops_tmp -FROM pg_operator o, pg_type t -WHERE o.oprleft = t.oid and o.oprright = t.oid - and t.typname = 'cube'; - --- make sure we have the right operators --- SELECT * from gist_cube_ops_tmp; - --- using the tmp table, generate the amop entries - --- cube_left -INSERT INTO pg_amop (amopclaid, amopstrategy, amopreqcheck, amopopr) - SELECT opcl.oid, 1, false, c.opoid - FROM pg_opclass opcl, gist_cube_ops_tmp c - WHERE - opcamid = (SELECT oid FROM pg_am WHERE amname = 'gist') - and opcname = 'gist_cube_ops' - and c.oprname = '<<'; - --- cube_over_left -INSERT INTO pg_amop (amopclaid, amopstrategy, amopreqcheck, amopopr) - SELECT opcl.oid, 2, false, c.opoid - FROM pg_opclass opcl, gist_cube_ops_tmp c - WHERE - opcamid = (SELECT oid FROM pg_am WHERE amname = 'gist') - and opcname = 'gist_cube_ops' - and c.oprname = '&<'; - --- cube_overlap -INSERT INTO pg_amop (amopclaid, amopstrategy, amopreqcheck, amopopr) - SELECT opcl.oid, 3, false, c.opoid - FROM pg_opclass opcl, gist_cube_ops_tmp c - WHERE - opcamid = (SELECT oid FROM pg_am WHERE amname = 'gist') - and opcname = 'gist_cube_ops' - and c.oprname = '&&'; - --- cube_over_right -INSERT INTO pg_amop (amopclaid, amopstrategy, amopreqcheck, amopopr) - SELECT opcl.oid, 4, false, c.opoid - FROM pg_opclass opcl, gist_cube_ops_tmp c - WHERE - opcamid = (SELECT oid FROM pg_am WHERE amname = 'gist') - and opcname = 'gist_cube_ops' - and c.oprname = '&>'; - --- cube_right -INSERT INTO pg_amop (amopclaid, amopstrategy, amopreqcheck, amopopr) - SELECT opcl.oid, 5, false, c.opoid - FROM pg_opclass opcl, gist_cube_ops_tmp c - WHERE - opcamid = (SELECT oid FROM pg_am WHERE amname = 'gist') - and opcname = 'gist_cube_ops' - and c.oprname = '>>'; - --- cube_same -INSERT INTO pg_amop (amopclaid, amopstrategy, amopreqcheck, amopopr) - SELECT opcl.oid, 6, false, c.opoid - FROM pg_opclass opcl, gist_cube_ops_tmp c - WHERE - opcamid = (SELECT oid FROM pg_am WHERE amname = 'gist') - and opcname = 'gist_cube_ops' - and c.oprname = '='; - --- cube_contains -INSERT INTO pg_amop (amopclaid, amopstrategy, amopreqcheck, amopopr) - SELECT opcl.oid, 7, false, c.opoid - FROM pg_opclass opcl, gist_cube_ops_tmp c - WHERE - opcamid = (SELECT oid FROM pg_am WHERE amname = 'gist') - and opcname = 'gist_cube_ops' - and c.oprname = '@'; - --- cube_contained -INSERT INTO pg_amop (amopclaid, amopstrategy, amopreqcheck, amopopr) - SELECT opcl.oid, 8, false, c.opoid - FROM pg_opclass opcl, gist_cube_ops_tmp c - WHERE - opcamid = (SELECT oid FROM pg_am WHERE amname = 'gist') - and opcname = 'gist_cube_ops' - and c.oprname = '~'; - -DROP TABLE gist_cube_ops_tmp; - - --- add the entries to amproc for the support methods --- note the amprocnum numbers associated with each are specific! - -INSERT INTO pg_amproc (amopclaid, amprocnum, amproc) - SELECT opcl.oid, 1, pro.oid - FROM pg_opclass opcl, pg_proc pro - WHERE - opcamid = (SELECT oid FROM pg_am WHERE amname = 'gist') - and opcname = 'gist_cube_ops' - and proname = 'g_cube_consistent'; - -INSERT INTO pg_amproc (amopclaid, amprocnum, amproc) - SELECT opcl.oid, 2, pro.oid - FROM pg_opclass opcl, pg_proc pro - WHERE - opcamid = (SELECT oid FROM pg_am WHERE amname = 'gist') - and opcname = 'gist_cube_ops' - and proname = 'g_cube_union'; - -INSERT INTO pg_amproc (amopclaid, amprocnum, amproc) - SELECT opcl.oid, 3, pro.oid - FROM pg_opclass opcl, pg_proc pro - WHERE - opcamid = (SELECT oid FROM pg_am WHERE amname = 'gist') - and opcname = 'gist_cube_ops' - and proname = 'g_cube_compress'; - -INSERT INTO pg_amproc (amopclaid, amprocnum, amproc) - SELECT opcl.oid, 4, pro.oid - FROM pg_opclass opcl, pg_proc pro - WHERE - opcamid = (SELECT oid FROM pg_am WHERE amname = 'gist') - and opcname = 'gist_cube_ops' - and proname = 'g_cube_decompress'; - -INSERT INTO pg_amproc (amopclaid, amprocnum, amproc) - SELECT opcl.oid, 5, pro.oid - FROM pg_opclass opcl, pg_proc pro - WHERE - opcamid = (SELECT oid FROM pg_am WHERE amname = 'gist') - and opcname = 'gist_cube_ops' - and proname = 'g_cube_penalty'; - -INSERT INTO pg_amproc (amopclaid, amprocnum, amproc) - SELECT opcl.oid, 6, pro.oid - FROM pg_opclass opcl, pg_proc pro - WHERE - opcamid = (SELECT oid FROM pg_am WHERE amname = 'gist') - and opcname = 'gist_cube_ops' - and proname = 'g_cube_picksplit'; - -INSERT INTO pg_amproc (amopclaid, amprocnum, amproc) - SELECT opcl.oid, 7, pro.oid - FROM pg_opclass opcl, pg_proc pro - WHERE - opcamid = (SELECT oid FROM pg_am WHERE amname = 'gist') - and opcname = 'gist_cube_ops' - and proname = 'g_cube_same'; - -END TRANSACTION; diff --git a/contrib/cube/cubedata.h b/contrib/cube/cubedata.h deleted file mode 100644 index a1c5e8efcd..0000000000 --- a/contrib/cube/cubedata.h +++ /dev/null @@ -1,6 +0,0 @@ -typedef struct NDBOX -{ - unsigned int size; /* required to be a Postgres varlena type */ - unsigned int dim; - float x[1]; -} NDBOX; diff --git a/contrib/cube/cubeparse.y b/contrib/cube/cubeparse.y deleted file mode 100644 index 33b7c1ef6b..0000000000 --- a/contrib/cube/cubeparse.y +++ /dev/null @@ -1,252 +0,0 @@ -%{ -/* NdBox = [(lowerleft),(upperright)] */ -/* [(xLL(1)...xLL(N)),(xUR(1)...xUR(n))] */ - -#define YYERROR_VERBOSE -#define YYPARSE_PARAM result /* need this to pass a pointer (void *) to yyparse */ -#define YYSTYPE char * -#define YYDEBUG 1 - -#include -#include "cubedata.h" -#include "buffer.h" - -#include "postgres.h" -#include "utils/palloc.h" -#include "utils/elog.h" - -#undef yylex /* falure to redefine yylex will result in a call to the */ -#define yylex cube_yylex /* wrong scanner when running inside the postgres backend */ - -extern int yylex(); /* defined as cube_yylex in cubescan.c */ -extern int errno; - -int cube_yyerror( char *msg ); -int cube_yyparse(void *result); - -static int delim_count(char *s, char delim); -static NDBOX * write_box(unsigned int dim, char *str1, char *str2); -static NDBOX * write_point_as_box(char *s); - -%} - -/* BISON Declarations */ -%token FLOAT O_PAREN C_PAREN O_BRACKET C_BRACKET COMMA -%start box - -/* Grammar follows */ -%% - -box: - O_BRACKET paren_list COMMA paren_list C_BRACKET { - - int dim; - int c = parse_buffer_curr_char(); - int pos = parse_buffer_pos(); - - /* We can't let the parser recognize more than one valid expression: - the job is done and memory is allocated. */ - if ( c != '\0' ) { - /* Not at EOF */ - reset_parse_buffer(); - elog(ERROR, "(0) bad cube representation; garbage at or before char %d, ('%c', \\%03o)\n", pos, c, c ); - YYERROR; - } - - dim = delim_count($2, ',') + 1; - if ( (delim_count($4, ',') + 1) != dim ) { - reset_parse_buffer(); - elog(ERROR, "(1) bad cube representation; different point dimensions in (%s) and (%s)\n", $2, $4); - YYABORT; - } - - *((void **)result) = write_box( dim, $2, $4 ); - - } - | - paren_list COMMA paren_list { - int dim; - int c = parse_buffer_curr_char(); - int pos = parse_buffer_pos(); - - if ( c != '\0' ) { /* Not at EOF */ - reset_parse_buffer(); - elog(ERROR, "(2) bad cube representation; garbage at or before char %d, ('%c', \\%03o)\n", pos, c, c ); - YYABORT; - } - - dim = delim_count($1, ',') + 1; - - if ( (delim_count($3, ',') + 1) != dim ) { - reset_parse_buffer(); - elog(ERROR, "(3) bad cube representation; different point dimensions in (%s) and (%s)\n", $1, $3); - YYABORT; - } - - *((void **)result) = write_box( dim, $1, $3 ); - } - | - - paren_list { - int c = parse_buffer_curr_char(); - int pos = parse_buffer_pos(); - - if ( c != '\0') { /* Not at EOF */ - reset_parse_buffer(); - elog(ERROR, "(4) bad cube representation; garbage at or before char %d, ('%c', \\%03o)\n", pos, c, c ); - YYABORT; - } - - if ( yychar != YYEOF) { - /* There's still a lookahead token to be parsed */ - reset_parse_buffer(); - elog(ERROR, "(5) bad cube representation; garbage at or before char %d, ('end of input', \\%03o)\n", pos, c); - YYABORT; - } - - *((void **)result) = write_point_as_box($1); - } - - | - - list { - int c = parse_buffer_curr_char(); - int pos = parse_buffer_pos(); - - if ( c != '\0') { /* Not at EOF */ - reset_parse_buffer(); - elog(ERROR, "(6) bad cube representation; garbage at or before char %d, ('%c', \\%03o)\n", pos, c, c); - YYABORT; - } - - if ( yychar != YYEOF) { - /* There's still a lookahead token to be parsed */ - reset_parse_buffer(); - elog(ERROR, "(7) bad cube representation; garbage at or before char %d, ('end of input', \\%03o)\n", pos, c); - YYABORT; - } - - *((void **)result) = write_point_as_box($1); - } - ; - -paren_list: - O_PAREN list C_PAREN { - $$ = $2; - } - ; - -list: - FLOAT { - $$ = palloc(strlen(parse_buffer()) + 1); - strcpy($$, $1); - } - | - list COMMA FLOAT { - $$ = $1; - strcat($$, ","); - strcat($$, $3); - } - ; - -%% - - -int cube_yyerror ( char *msg ) { - char *buf = (char *) palloc(256); - int position; - - yyclearin; - - if ( !strcmp(msg, "parse error, expecting `$'") ) { - msg = "expecting end of input"; - } - - position = parse_buffer_pos() > parse_buffer_size() ? parse_buffer_pos() - 1 : parse_buffer_pos(); - - sprintf( - buf, - "%s at or before position %d, character ('%c', \\%03o), input: '%s'\n", - msg, - position, - parse_buffer()[position - 1], - parse_buffer()[position - 1], - parse_buffer() - ); - - reset_parse_buffer(); - elog(ERROR, buf); - return 0; -} - -static int -delim_count(char *s, char delim) -{ - int ndelim = 0; - - while ((s = strchr(s, delim)) != NULL) - { - ndelim++; - s++; - } - return (ndelim); -} - -static NDBOX * -write_box(unsigned int dim, char *str1, char *str2) -{ - NDBOX * bp; - char * s; - int i; - int size = offsetof(NDBOX, x[0]) + sizeof(float) * dim * 2; - - bp = palloc(size); - bp->size = size; - bp->dim = dim; - - s = str1; - bp->x[i=0] = strtod(s, NULL); - while ((s = strchr(s, ',')) != NULL) { - s++; i++; - bp->x[i] = strtod(s, NULL); - } - - s = str2; - bp->x[i=dim] = strtod(s, NULL); - while ((s = strchr(s, ',')) != NULL) { - s++; i++; - bp->x[i] = strtod(s, NULL); - } - - return(bp); -} - - -static NDBOX * write_point_as_box(char *str) -{ - NDBOX * bp; - int i, size; - double x; - int dim = delim_count(str, ',') + 1; - char * s = str; - - size = offsetof(NDBOX, x[0]) + sizeof(float) * dim * 2; - - bp = palloc(size); - bp->size = size; - bp->dim = dim; - - i = 0; - x = strtod(s, NULL); - bp->x[0] = x; - bp->x[dim] = x; - while ((s = strchr(s, ',')) != NULL) { - s++; i++; - x = strtod(s, NULL); - bp->x[i] = x; - bp->x[i+dim] = x; - } - - return(bp); -} - diff --git a/contrib/cube/cubescan.l b/contrib/cube/cubescan.l deleted file mode 100644 index e10e7faad8..0000000000 --- a/contrib/cube/cubescan.l +++ /dev/null @@ -1,54 +0,0 @@ -%{ -/* -** A scanner for EMP-style numeric ranges -*/ - -#define YYSTYPE char * -#define yylval cube_yylval - -#include -#include "cubeparse.h" -#include "buffer.h" - -#define YY_NO_UNPUT 1 -#undef yywrap - -/* flex screws a couple symbols when used with the -P otion; fix those */ -#define YY_DECL int cube_yylex YY_PROTO(( void )); \ -int cube_yylex YY_PROTO(( void )) - -/* redefined YY_INPUT reads byte-wise from the memory area defined in buffer.c */ -#undef YY_INPUT -#define YY_INPUT(buf,result,max_size) \ -{ \ - int c = read_parse_buffer(); \ - result = (c == '\0') ? YY_NULL : (buf[0] = c, 1); \ -} - -void cube_flush_scanner_buffer(void); -%} - -n [0-9]+ -integer [+-]?{n} -real [+-]?({n}\.{n}?)|(\.{n}) -float ({integer}|{real})([eE]{integer})? - -%% - -{float} yylval = yytext; return FLOAT; -\[ yylval = "("; return O_BRACKET; -\] yylval = ")"; return C_BRACKET; -\( yylval = "("; return O_PAREN; -\) yylval = ")"; return C_PAREN; -\, yylval = ")"; return COMMA; -[ ]+ /* discard spaces */ -. return yytext[0]; /* alert parser of the garbage */ - -%% - -int cube_yylex(); - -void cube_flush_scanner_buffer(void) { - fprintf(stderr, "cube_flush_scanner_buffer called\n"); - YY_FLUSH_BUFFER; -} diff --git a/contrib/cube/data/test_cube.data b/contrib/cube/data/test_cube.data deleted file mode 100644 index d67cd122cf..0000000000 --- a/contrib/cube/data/test_cube.data +++ /dev/null @@ -1,3100 +0,0 @@ -(12699,9028),(12654,8987) -(22689,4680),(22614,4626) -(43263,47296),(43217,47217) -(6184,8397),(6182,8379) -(863,28537),(788,28456) -(33783,4733),(33746,4693) -(40456,47134),(40426,47087) -(45950,8153),(45887,8060) -(33433,36474),(33399,36460) -(41106,22017),(41086,21962) -(19214,36781),(19179,36767) -(11582,40823),(11498,40737) -(35565,5404),(35546,5360) -(26489,17387),(26405,17356) -(30874,13849),(30796,13814) -(38255,1619),(38227,1593) -(4445,32006),(4405,31914) -(3923,32921),(3876,32913) -(36054,39464),(36032,39434) -(46540,6780),(46524,6758) -(12184,45811),(12118,45787) -(13198,17090),(13143,17051) -(30939,44578),(30865,44486) -(12502,4939),(12431,4902) -(3250,1108),(3169,1063) -(34029,41240),(33976,41180) -(47057,44018),(46967,43927) -(699,10114),(686,10058) -(5925,26020),(5845,25979) -(9462,39388),(9382,39388) -(270,32616),(226,32607) -(3959,49145),(3861,49115) -(207,40886),(179,40879) -(48480,43312),(48412,43233) -(37183,37209),(37161,37110) -(13576,13505),(13521,13487) -(5877,1037),(5818,1036) -(6777,16694),(6776,16692) -(49362,13905),(49299,13845) -(29356,14606),(29313,14562) -(5492,6976),(5441,6971) -(288,49588),(204,49571) -(36698,37213),(36682,37158) -(718,41336),(645,41272) -(8725,23369),(8660,23333) -(40115,9894),(40025,9818) -(40051,41181),(40015,41153) -(5739,1740),(5715,1731) -(25120,27935),(25054,27876) -(27475,46084),(27447,46003) -(33197,3252),(33161,3245) -(10892,15691),(10869,15662) -(39012,44712),(38995,44640) -(4506,6484),(4458,6459) -(13970,26316),(13964,26236) -(28009,28104),(27968,28030) -(5991,27613),(5906,27607) -(23649,6338),(23610,6314) -(25942,10008),(25911,9928) -(25651,29943),(25590,29906) -(24555,40334),(24546,40330) -(46870,43762),(46789,43709) -(20030,2752),(19945,2687) -(30758,26754),(30718,26678) -(4320,44673),(4286,44625) -(1011,15576),(939,15574) -(41936,40699),(41854,40655) -(20594,19002),(20561,18995) -(9388,41056),(9325,41042) -(34771,46693),(34751,46645) -(49398,46359),(49332,46357) -(23115,35380),(23036,35306) -(46305,34840),(46283,34765) -(16768,21692),(16691,21647) -(28695,3128),(28654,3112) -(22182,7107),(22107,7074) -(14567,1210),(14468,1139) -(14156,37139),(14136,37119) -(33500,38351),(33477,38286) -(39983,41981),(39944,41954) -(26773,20824),(26719,20813) -(42516,22947),(42460,22932) -(26127,10701),(26044,10650) -(17808,13803),(17724,13710) -(14913,49873),(14849,49836) -(37013,820),(36955,736) -(39071,1399),(39022,1381) -(9785,42546),(9687,42540) -(13423,14066),(13354,14052) -(3417,14558),(3336,14478) -(25212,46368),(25128,46316) -(10124,39848),(10027,39820) -(39722,39226),(39656,39162) -(6298,28101),(6250,28076) -(45852,5846),(45809,5750) -(48292,4885),(48290,4841) -(18905,4454),(18894,4424) -(18965,43474),(18902,43444) -(39843,28239),(39761,28199) -(18087,44660),(18019,44632) -(33886,10382),(33794,10286) -(38383,13163),(38362,13092) -(18861,25050),(18842,24965) -(29887,14326),(29806,14274) -(18733,11644),(18698,11644) -(5119,37952),(5089,37950) -(16191,34884),(16149,34864) -(29544,1104),(29496,1062) -(27740,41555),(27701,41540) -(4672,4087),(4633,4060) -(45441,38994),(45377,38958) -(3272,1176),(3232,1146) -(12820,26606),(12790,26575) -(30910,7590),(30877,7512) -(42476,39152),(42377,39127) -(6562,38490),(6542,38447) -(30046,20332),(29988,20259) -(40723,15950),(40671,15949) -(4945,46857),(4908,46817) -(47986,16882),(47963,16877) -(9842,22339),(9805,22305) -(29831,23169),(29818,23122) -(12322,34404),(12250,34312) -(22846,11091),(22759,10992) -(47627,2424),(47603,2397) -(18375,43632),(18347,43577) -(40441,974),(40394,965) -(34260,10573),(34194,10522) -(32914,9549),(32828,9503) -(49023,37827),(48978,37799) -(22183,10691),(22111,10669) -(38036,15828),(38014,15759) -(34604,16801),(34508,16746) -(26737,29997),(26675,29976) -(47375,40298),(47293,40210) -(771,2661),(732,2649) -(28514,25659),(28504,25577) -(13438,46494),(13376,46455) -(7187,17877),(7125,17786) -(49957,43390),(49897,43384) -(26543,20067),(26482,20057) -(16416,29803),(16385,29724) -(36353,7484),(36286,7414) -(26498,3377),(26415,3358) -(28990,32205),(28936,32193) -(45005,3842),(45001,3816) -(21672,23566),(21603,23566) -(33360,43465),(33302,43429) -(29884,9544),(29838,9520) -(5599,15012),(5596,14930) -(22396,21481),(22344,21422) -(24810,14955),(24780,14887) -(47114,18866),(47081,18784) -(39013,39245),(38953,39237) -(12863,40534),(12803,40529) -(351,37068),(310,37019) -(12916,34327),(12891,34240) -(49191,2694),(49170,2628) -(24127,38407),(24050,38325) -(3264,23053),(3213,23007) -(8172,30385),(8144,30336) -(19630,35716),(19573,35640) -(42554,5148),(42521,5117) -(42168,33453),(42136,33426) -(17732,32093),(17666,32057) -(1039,16626),(1037,16587) -(21287,7757),(21265,7679) -(47063,8260),(47039,8225) -(38645,16238),(38561,16204) -(18258,25358),(18196,25341) -(30458,1742),(30458,1695) -(35147,9273),(35121,9233) -(7670,16625),(7642,16545) -(49503,23432),(49484,23383) -(31089,23146),(31062,23093) -(47758,2734),(47670,2703) -(35276,1027),(35259,972) -(26337,17603),(26313,17579) -(35649,16777),(35626,16777) -(42454,5105),(42362,5101) -(21682,24951),(21646,24920) -(48383,25174),(48303,25156) -(14672,3532),(14601,3460) -(22570,22587),(22515,22512) -(23566,25623),(23484,25573) -(9530,24542),(9504,24459) -(41271,451),(41236,401) -(5556,37528),(5502,37527) -(12479,25042),(12447,24991) -(16568,22916),(16499,22864) -(42700,13084),(42676,12992) -(35523,40973),(35504,40932) -(32948,16962),(32857,16901) -(7808,13469),(7712,13469) -(13920,35203),(13870,35131) -(22731,31563),(22658,31557) -(22909,43956),(22900,43857) -(33077,35080),(33074,35030) -(48064,29307),(48022,29280) -(20232,46682),(20212,46613) -(29949,16790),(29867,16711) -(30260,32029),(30180,31979) -(17184,34503),(17110,34482) -(16066,42687),(16039,42648) -(2947,19819),(2857,19788) -(4900,47934),(4818,47894) -(27193,19014),(27174,18976) -(15597,27948),(15590,27939) -(11090,28623),(11002,28589) -(26956,18651),(26920,18620) -(3107,47753),(3103,47711) -(6745,24151),(6711,24083) -(43923,19213),(43871,19124) -(33451,23578),(33370,23534) -(8944,20605),(8862,20601) -(14905,7536),(14892,7441) -(2412,18357),(2383,18354) -(37060,1443),(36974,1366) -(15501,6230),(15429,6190) -(30333,50),(30273,6) -(35567,9965),(35482,9912) -(49847,7128),(49798,7067) -(27685,36396),(27668,36384) -(43832,18491),(43825,18431) -(36849,34600),(36785,34589) -(2348,47938),(2307,47902) -(20473,22131),(20445,22113) -(38486,4293),(38471,4288) -(30611,30451),(30553,30400) -(3883,21299),(3819,21260) -(7696,37555),(7644,37534) -(22399,7913),(22317,7911) -(42565,38605),(42500,38598) -(36595,12151),(36500,12106) -(587,35217),(571,35123) -(5764,15300),(5764,15231) -(12003,21265),(11983,21210) -(42564,4803),(42470,4737) -(42359,36834),(42271,36746) -(44700,14680),(44658,14670) -(19690,5627),(19620,5607) -(17780,43602),(17714,43565) -(45073,3491),(45041,3434) -(35043,2136),(35017,2084) -(39653,19215),(39646,19198) -(23970,25560),(23935,25502) -(28698,49233),(28600,49223) -(30266,3605),(30245,3540) -(25538,7857),(25500,7791) -(17711,1757),(17708,1756) -(5248,594),(5190,587) -(2730,32454),(2671,32436) -(1722,49089),(1635,49067) -(40954,5743),(40921,5722) -(21382,4426),(21298,4331) -(7885,18629),(7872,18605) -(42838,6459),(42748,6451) -(8217,19894),(8207,19845) -(20489,18524),(20433,18520) -(17383,23559),(17309,23515) -(38952,38968),(38934,38913) -(44665,18137),(44636,18051) -(22416,41220),(22383,41213) -(9901,664),(9818,646) -(23475,21981),(23449,21973) -(41875,17991),(41818,17988) -(36517,47731),(36509,47713) -(37595,49849),(37581,49834) -(38771,32720),(38748,32684) -(810,38523),(736,38452) -(29695,14942),(29665,14907) -(31911,15168),(31906,15113) -(3454,36839),(3438,36831) -(4832,47554),(4820,47473) -(11590,8292),(11539,8272) -(8193,33323),(8106,33317) -(16043,14799),(16001,14710) -(19574,11395),(19514,11316) -(26290,41424),(26224,41342) -(22844,12516),(22807,12471) -(15709,49580),(15655,49553) -(13387,28084),(13379,28066) -(2780,38807),(2690,38711) -(22031,32458),(22028,32377) -(13511,3351),(13440,3297) -(14648,26473),(14614,26383) -(17798,19885),(17726,19852) -(32355,27940),(32324,27861) -(43773,21031),(43767,20985) -(15419,45759),(15403,45666) -(770,38863),(729,38806) -(21221,35619),(21183,35596) -(38924,31021),(38894,30961) -(7395,32439),(7345,32416) -(2324,25118),(2268,25074) -(2958,15089),(2935,15087) -(2424,160),(2424,81) -(12123,18644),(12099,18616) -(7459,30276),(7422,30218) -(15847,45488),(15814,45428) -(26409,29897),(26389,29863) -(12336,34322),(12279,34322) -(9440,23550),(9396,23466) -(4991,30850),(4905,30768) -(47262,11940),(47201,11939) -(30584,42868),(30555,42838) -(23144,24089),(23056,24067) -(35930,11609),(35847,11573) -(7812,17271),(7789,17203) -(17946,37554),(17878,37480) -(27356,32869),(27298,32813) -(29971,47783),(29933,47697) -(26075,46494),(25988,46451) -(39314,41366),(39289,41269) -(31708,42900),(31688,42865) -(4510,10231),(4439,10203) -(43806,8482),(43758,8446) -(45990,49694),(45927,49617) -(48815,27640),(48782,27573) -(41675,26733),(41622,26723) -(23229,7709),(23175,7693) -(48976,17733),(48962,17731) -(10686,41470),(10597,41434) -(18053,27059),(17989,27012) -(35495,25950),(35459,25912) -(41896,45014),(41881,44999) -(22654,41896),(22572,41801) -(18581,7087),(18524,6988) -(14697,22406),(14681,22311) -(40092,28122),(40043,28030) -(35844,24243),(35816,24238) -(1254,25653),(1250,25644) -(1603,21730),(1556,21640) -(33048,21779),(32991,21763) -(29979,1632),(29916,1592) -(8620,633),(8580,620) -(22992,27035),(22932,27008) -(21409,29315),(21390,29309) -(3610,44748),(3547,44699) -(20402,9318),(20343,9267) -(31001,8709),(30908,8658) -(46840,47640),(46773,47551) -(49173,4705),(49143,4630) -(5339,31657),(5251,31622) -(8644,49668),(8630,49648) -(45387,2893),(45309,2885) -(47641,31020),(47584,30941) -(40238,10636),(40208,10568) -(19247,36924),(19227,36924) -(917,19957),(827,19887) -(40967,17841),(40870,17820) -(15850,4109),(15794,4085) -(20181,30916),(20085,30870) -(161,24465),(107,24374) -(21737,49690),(21667,49663) -(10328,20911),(10232,20852) -(24187,49823),(24128,49768) -(36084,4578),(36007,4501) -(38771,31741),(38673,31674) -(2202,30102),(2111,30006) -(27322,16074),(27228,16039) -(6843,17280),(6765,17248) -(16972,39744),(16912,39700) -(10608,38741),(10553,38708) -(4917,34801),(4828,34766) -(39281,33659),(39268,33618) -(31706,7119),(31645,7063) -(3427,44006),(3422,44004) -(10134,42608),(10044,42599) -(26294,32080),(26200,32068) -(21777,34680),(21769,34606) -(23373,25957),(23314,25915) -(10710,8401),(10681,8400) -(42062,19458),(42019,19394) -(26530,43036),(26458,43004) -(3394,46081),(3360,46077) -(38743,33953),(38677,33924) -(32438,8226),(32345,8160) -(9210,27333),(9118,27301) -(19594,1600),(19568,1551) -(10003,12278),(9952,12255) -(31737,7206),(31650,7146) -(16594,15821),(16502,15759) -(28208,30296),(28189,30278) -(30602,46237),(30555,46185) -(20715,5155),(20697,5140) -(48892,35271),(48793,35210) -(3175,5590),(3113,5525) -(34220,27947),(34132,27865) -(35105,39792),(35011,39727) -(21919,27314),(21839,27286) -(23963,3723),(23917,3699) -(16312,14078),(16236,14045) -(19233,49824),(19185,49794) -(1447,11768),(1356,11699) -(17311,17709),(17224,17653) -(11962,31709),(11871,31627) -(21355,40131),(21355,40085) -(33750,35273),(33724,35180) -(38896,25539),(38879,25524) -(39569,44899),(39569,44893) -(11075,41547),(11039,41500) -(3215,12202),(3199,12127) -(46215,33458),(46132,33455) -(15121,38012),(15083,37974) -(44448,18726),(44412,18690) -(3899,38263),(3870,38262) -(13854,13353),(13786,13298) -(8252,5402),(8191,5320) -(46849,37968),(46820,37897) -(16422,13957),(16376,13897) -(47369,7665),(47353,7629) -(11982,40874),(11956,40806) -(9552,27580),(9496,27562) -(32247,19399),(32176,19337) -(32704,2169),(32635,2091) -(7471,44213),(7411,44130) -(48433,7096),(48379,7089) -(37357,6543),(37338,6452) -(30460,29624),(30433,29535) -(20350,28794),(20341,28705) -(6326,32360),(6267,32317) -(1711,47519),(1654,47430) -(49540,16510),(49521,16426) -(26975,618),(26908,579) -(24118,30880),(24020,30821) -(3675,15477),(3625,15418) -(44953,9577),(44953,9530) -(38323,7965),(38235,7910) -(6629,36482),(6579,36448) -(33953,16460),(33878,16408) -(49222,16790),(49186,16695) -(17308,16951),(17274,16904) -(14135,6888),(14077,6833) -(38617,47768),(38603,47760) -(7345,10992),(7290,10914) -(35261,42152),(35176,42096) -(28586,4809),(28544,4735) -(37521,25299),(37495,25217) -(41941,17954),(41912,17915) -(1209,46863),(1171,46863) -(20103,34947),(20048,34896) -(32716,33816),(32656,33769) -(11113,6531),(11036,6467) -(48635,7321),(48563,7262) -(28435,37059),(28349,37014) -(12311,17208),(12232,17112) -(1466,48010),(1379,48008) -(11226,11997),(11223,11925) -(46896,32540),(46821,32510) -(32661,31255),(32632,31187) -(37739,20376),(37655,20306) -(44002,43326),(43920,43257) -(30337,1023),(30271,968) -(34436,23357),(34432,23345) -(21367,8168),(21353,8091) -(36370,21611),(36369,21569) -(4152,36488),(4080,36476) -(17696,13924),(17664,13853) -(34252,19395),(34159,19316) -(12574,3072),(12573,2975) -(3995,21243),(3943,21167) -(44553,30126),(44513,30108) -(4599,45275),(4552,45254) -(33191,11404),(33176,11348) -(14245,18633),(14177,18540) -(32457,20705),(32393,20700) -(40052,10499),(40016,10457) -(29824,44065),(29785,44037) -(31613,12565),(31557,12543) -(42692,29000),(42652,28996) -(40680,22219),(40603,22140) -(33575,27661),(33488,27644) -(46194,1385),(46184,1355) -(38442,48501),(38407,48426) -(25305,21544),(25236,21523) -(15562,8226),(15561,8208) -(20844,43614),(20752,43558) -(22566,30541),(22554,30532) -(2760,47802),(2672,47789) -(25515,30745),(25433,30675) -(48382,45134),(48382,45093) -(9940,27094),(9871,27087) -(48690,44361),(48610,44338) -(18992,11585),(18899,11582) -(21551,49983),(21492,49885) -(46778,29113),(46770,29071) -(43219,9593),(43212,9548) -(40291,1248),(40224,1190) -(12687,22225),(12635,22219) -(49372,38790),(49306,38721) -(49503,46808),(49411,46798) -(24745,5162),(24732,5138) -(5046,26517),(5023,26424) -(5583,46538),(5495,46531) -(6084,35950),(6079,35895) -(3503,23096),(3437,23024) -(45275,8420),(45244,8418) -(13514,45251),(13491,45249) -(42112,2748),(42047,2668) -(7810,21907),(7806,21878) -(48378,36029),(48303,35979) -(32568,48605),(32510,48563) -(859,18915),(810,18915) -(41963,17950),(41939,17915) -(42723,8031),(42685,7955) -(19587,5965),(19556,5961) -(8713,33083),(8629,32996) -(21243,7769),(21226,7740) -(43752,43026),(43720,42944) -(7883,41311),(7859,41242) -(10178,47874),(10157,47826) -(32177,48725),(32093,48646) -(22960,2784),(22953,2774) -(25101,49159),(25087,49090) -(32142,48915),(32086,48850) -(6636,44887),(6590,44825) -(37814,11606),(37769,11578) -(2870,23198),(2820,23121) -(21025,16364),(20947,16271) -(31341,36137),(31269,36114) -(38921,7906),(38888,7831) -(6966,17259),(6922,17199) -(32426,13344),(32401,13253) -(8084,30572),(8078,30572) -(42230,47674),(42150,47603) -(20724,44854),(20724,44830) -(27471,38453),(27454,38430) -(24590,37973),(24544,37941) -(45832,26077),(45772,26031) -(9589,24239),(9582,24156) -(37484,49472),(37409,49432) -(30044,19340),(30004,19333) -(16966,14632),(16936,14572) -(9439,40491),(9403,40482) -(28945,5814),(28913,5805) -(43788,41302),(43746,41231) -(33631,43451),(33614,43354) -(17590,49396),(17510,49324) -(15173,32572),(15109,32507) -(1912,23580),(1840,23504) -(38165,16185),(38076,16154) -(6729,1179),(6637,1177) -(6994,45406),(6983,45325) -(2912,21327),(2908,21305) -(14678,14244),(14659,14222) -(29944,14959),(29898,14900) -(47432,35658),(47407,35610) -(25542,39243),(25466,39149) -(5330,7206),(5304,7165) -(24790,27196),(24695,27118) -(38806,1961),(38795,1906) -(23290,4487),(23212,4416) -(35035,24337),(34990,24297) -(5549,38948),(5549,38891) -(24558,15492),(24501,15425) -(4636,3011),(4574,2933) -(26522,39986),(26451,39940) -(33486,18424),(33410,18366) -(36638,14324),(36625,14287) -(35115,41236),(35055,41191) -(31927,16896),(31841,16806) -(5796,43937),(5697,43886) -(25681,41645),(25663,41608) -(10962,42777),(10894,42732) -(32715,11026),(32672,10991) -(45803,20406),(45710,20371) -(34730,17672),(34658,17606) -(8809,6323),(8798,6232) -(39471,23837),(39390,23749) -(34078,17435),(33987,17433) -(9133,4544),(9041,4509) -(47274,29126),(47242,29060) -(6404,28488),(6403,28475) -(48894,49751),(48846,49694) -(17324,43023),(17301,42972) -(15599,8433),(15557,8386) -(48575,10202),(48488,10175) -(27638,24428),(27608,24378) -(45277,47456),(45240,47422) -(26482,46607),(26482,46570) -(41400,33898),(41397,33802) -(49853,18504),(49848,18503) -(11528,25165),(11476,25080) -(49902,41752),(49818,41746) -(1956,47506),(1922,47424) -(21834,22058),(21802,21964) -(19414,21842),(19386,21822) -(34801,13722),(34744,13681) -(13924,29243),(13835,29160) -(47749,21986),(47664,21894) -(47051,39582),(46974,39489) -(31287,49923),(31236,49913) -(47429,8625),(47337,8585) -(46987,44364),(46901,44277) -(16158,27510),(16099,27467) -(41184,6400),(41148,6317) -(1847,42471),(1829,42426) -(14409,48602),(14320,48555) -(38137,42951),(38045,42918) -(42875,2312),(42832,2243) -(27242,30617),(27181,30535) -(24882,44559),(24812,44548) -(22021,1596),(22015,1581) -(24300,1523),(24250,1443) -(43946,35909),(43869,35868) -(816,15988),(776,15967) -(25243,9401),(25237,9332) -(27967,25958),(27928,25949) -(6575,33949),(6484,33900) -(44812,35980),(44800,35913) -(37577,13064),(37495,13019) -(30891,29967),(30814,29884) -(15829,28836),(15753,28807) -(11128,34180),(11126,34117) -(9834,12537),(9801,12508) -(4899,29069),(4809,29024) -(29370,38459),(29276,38382) -(40743,46653),(40647,46559) -(9618,2723),(9578,2631) -(32542,26837),(32515,26769) -(5625,13409),(5576,13355) -(47490,19229),(47472,19203) -(48118,40275),(48063,40203) -(19245,20549),(19227,20546) -(25312,22243),(25280,22164) -(18797,28934),(18723,28881) -(31609,49393),(31512,49366) -(26183,32888),(26135,32824) -(46198,26153),(46180,26149) -(45383,16904),(45353,16888) -(7132,11408),(7091,11338) -(48262,43227),(48236,43159) -(31722,12861),(31675,12810) -(41695,48924),(41691,48921) -(48318,12877),(48287,12802) -(12069,32241),(11978,32231) -(8395,2694),(8380,2661) -(19552,34590),(19550,34497) -(12203,26166),(12187,26143) -(35745,9571),(35654,9542) -(22384,22535),(22352,22439) -(21459,28189),(21360,28189) -(7418,7203),(7343,7182) -(39497,48412),(39413,48318) -(1058,11132),(979,11051) -(45623,31417),(45548,31381) -(23887,31921),(23876,31891) -(7797,1244),(7785,1155) -(23679,43650),(23594,43644) -(21891,30561),(21833,30485) -(4069,6870),(4019,6785) -(5134,25117),(5103,25034) -(36101,41895),(36085,41810) -(39617,39211),(39544,39191) -(37437,6604),(37434,6585) -(7749,32601),(7740,32515) -(26203,34991),(26159,34946) -(31856,39006),(31783,39003) -(45828,24767),(45788,24723) -(49836,35965),(49757,35871) -(44113,49024),(44033,48995) -(38237,22326),(38187,22253) -(45235,19087),(45190,19005) -(1588,45285),(1520,45254) -(46628,8701),(46552,8665) -(47707,18258),(47668,18250) -(9377,26162),(9325,26079) -(28331,16766),(28302,16731) -(15792,27875),(15727,27809) -(16454,1972),(16415,1967) -(21012,15828),(20972,15784) -(27465,30603),(27390,30560) -(39256,7697),(39225,7604) -(25908,32801),(25854,32770) -(25215,40109),(25201,40106) -(23280,4613),(23190,4596) -(32440,30879),(32405,30807) -(49156,4224),(49126,4126) -(20005,40423),(19911,40370) -(20978,8226),(20930,8170) -(32127,22611),(32126,22579) -(21764,26509),(21701,26455) -(32923,2834),(32914,2830) -(7499,25331),(7426,25300) -(6163,36942),(6107,36908) -(41118,14583),(41034,14486) -(21211,33369),(21208,33331) -(7899,27682),(7853,27603) -(16546,48436),(16535,48400) -(24898,40195),(24855,40174) -(43029,982),(43004,952) -(26266,7962),(26252,7950) -(11308,44367),(11210,44322) -(8902,28402),(8808,28334) -(11671,19619),(11665,19549) -(47202,23593),(47153,23505) -(21981,40220),(21905,40160) -(46721,2514),(46687,2471) -(3450,33839),(3424,33811) -(41854,45864),(41762,45792) -(40183,47816),(40114,47742) -(26119,33910),(26077,33816) -(3430,16518),(3365,16500) -(40063,32176),(40005,32166) -(38702,15253),(38679,15187) -(17719,12291),(17658,12257) -(46131,30669),(46068,30587) -(42738,10952),(42731,10907) -(8721,45155),(8650,45076) -(45317,26123),(45244,26113) -(42694,11561),(42614,11490) -(10043,12479),(10009,12391) -(27584,2345),(27578,2257) -(30889,8253),(30866,8167) -(5176,48928),(5107,48838) -(9781,21023),(9745,20976) -(32430,27908),(32404,27859) -(3984,7391),(3973,7352) -(18904,8094),(18842,8091) -(20573,5508),(20482,5496) -(7806,44368),(7753,44297) -(18875,41452),(18817,41376) -(6632,12142),(6566,12079) -(33066,17865),(33055,17854) -(45726,19628),(45714,19589) -(26971,18459),(26941,18423) -(26554,23641),(26515,23592) -(45503,1325),(45441,1231) -(11898,20164),(11880,20115) -(27868,22837),(27843,22776) -(34931,8206),(34855,8144) -(42375,33603),(42350,33539) -(3184,8308),(3129,8238) -(26667,15813),(26661,15785) -(5760,49617),(5730,49546) -(794,27001),(777,26992) -(13518,45289),(13459,45235) -(34430,29754),(34363,29736) -(37912,24574),(37880,24543) -(8130,2270),(8083,2258) -(26930,21516),(26848,21455) -(3634,33511),(3592,33489) -(33080,5036),(33035,4972) -(48389,13942),(48316,13915) -(9231,5298),(9150,5232) -(1357,10601),(1321,10548) -(35175,15295),(35091,15269) -(33917,36863),(33879,36784) -(8279,12052),(8239,12021) -(11868,19083),(11862,19034) -(24019,30777),(24006,30703) -(44619,6959),(44618,6938) -(28610,2626),(28523,2582) -(29579,41801),(29482,41775) -(23448,37609),(23396,37534) -(40676,11252),(40670,11191) -(39656,14077),(39564,13999) -(33060,31042),(33033,30950) -(11720,6816),(11654,6792) -(13775,28873),(13730,28868) -(47851,39121),(47802,39084) -(30923,40255),(30860,40199) -(44169,15070),(44085,15015) -(42574,28664),(42558,28590) -(8993,43487),(8941,43460) -(40782,11648),(40763,11631) -(18516,10143),(18423,10137) -(39068,551),(39005,491) -(39672,12000),(39575,11913) -(18508,37761),(18464,37712) -(19083,35318),(19079,35280) -(30286,13736),(30222,13672) -(7223,9164),(7132,9069) -(20764,29286),(20700,29210) -(5733,8063),(5699,8058) -(8566,43873),(8549,43797) -(22126,27444),(22062,27366) -(15105,8717),(15078,8660) -(43987,33145),(43940,33083) -(46833,38652),(46755,38612) -(47768,27202),(47681,27169) -(22792,1183),(22731,1152) -(25650,43310),(25562,43247) -(37084,20116),(37045,20057) -(47461,32556),(47423,32555) -(41225,18124),(41215,18117) -(17623,25218),(17553,25158) -(13770,21703),(13770,21700) -(48958,35441),(48870,35388) -(2976,1808),(2892,1802) -(45118,22318),(45049,22224) -(42287,26616),(42281,26560) -(25525,6327),(25468,6244) -(40756,31634),(40713,31568) -(23105,26565),(23078,26565) -(48268,39862),(48265,39827) -(41656,26254),(41567,26243) -(28062,17920),(28045,17825) -(6443,17321),(6402,17238) -(10191,45466),(10151,45447) -(18097,39706),(18043,39649) -(37592,3244),(37569,3197) -(29809,5978),(29762,5950) -(12145,11251),(12130,11202) -(37507,42999),(37446,42956) -(10820,2866),(10782,2830) -(36440,42904),(36421,42832) -(38370,3386),(38279,3311) -(9345,17279),(9313,17197) -(20477,14864),(20395,14807) -(37147,37769),(37110,37729) -(15325,36135),(15284,36053) -(29034,32897),(29009,32854) -(2116,22274),(2037,22216) -(15078,38330),(15048,38251) -(7968,33600),(7914,33573) -(832,23851),(770,23786) -(38669,4348),(38594,4344) -(8521,48573),(8425,48564) -(1060,43320),(969,43289) -(26170,10150),(26144,10069) -(32324,8539),(32285,8506) -(13121,18044),(13109,18021) -(1597,9383),(1594,9367) -(49539,35164),(49505,35065) -(39464,10295),(39409,10261) -(8921,37898),(8825,37803) -(31171,47076),(31093,47039) -(7178,41397),(7108,41304) -(16240,34832),(16162,34761) -(2829,20119),(2782,20091) -(45854,21265),(45810,21250) -(6382,12106),(6315,12030) -(22301,46291),(22291,46274) -(34142,14181),(34078,14158) -(11258,29748),(11198,29742) -(37450,6943),(37398,6882) -(41675,27207),(41643,27130) -(13578,49562),(13573,49479) -(37132,37397),(37081,37301) -(49404,37193),(49332,37170) -(33536,31809),(33444,31735) -(45990,42751),(45893,42708) -(38852,20510),(38802,20509) -(27453,15836),(27391,15802) -(9347,29004),(9284,28946) -(44871,27727),(44778,27668) -(14978,19646),(14970,19644) -(23243,47091),(23166,47080) -(45204,21431),(45167,21370) -(14082,22316),(14078,22235) -(42778,22694),(42744,22606) -(4834,25241),(4760,25196) -(20497,18110),(20494,18038) -(45738,35524),(45706,35496) -(21575,5151),(21493,5092) -(2194,10052),(2172,9960) -(47735,24472),(47682,24460) -(46740,35700),(46695,35609) -(24647,42807),(24568,42779) -(18000,30576),(17975,30506) -(48638,46630),(48544,46628) -(48508,33600),(48477,33578) -(38703,45408),(38670,45313) -(21712,15015),(21625,14956) -(5840,42007),(5768,41992) -(44011,11138),(43953,11117) -(3899,33262),(3897,33238) -(30142,23967),(30096,23927) -(36950,13226),(36908,13141) -(13130,26915),(13071,26873) -(38576,35408),(38539,35392) -(16776,46244),(16700,46176) -(38251,25969),(38168,25948) -(3512,32256),(3417,32242) -(31923,31225),(31832,31197) -(5144,4969),(5124,4937) -(34499,46164),(34430,46162) -(39432,31907),(39388,31828) -(17316,24606),(17221,24533) -(20751,49352),(20709,49323) -(41673,30418),(41623,30377) -(29026,24400),(28971,24345) -(21929,30617),(21894,30598) -(35539,12421),(35536,12355) -(24938,45583),(24870,45525) -(27442,33090),(27353,33064) -(23949,12046),(23949,12036) -(11399,377),(11360,294) -(47099,9989),(47023,9942) -(641,33118),(639,33084) -(13687,41308),(13682,41290) -(3682,17727),(3645,17660) -(13262,19396),(13185,19357) -(18791,389),(18774,366) -(12489,45384),(12403,45369) -(12065,6364),(12015,6325) -(32705,23886),(32619,23827) -(7004,37333),(6911,37240) -(28594,38078),(28530,38050) -(5805,21797),(5710,21701) -(41145,18905),(41058,18873) -(35599,10002),(35591,9956) -(5387,39087),(5326,38994) -(11703,14003),(11671,13912) -(4093,10472),(4091,10470) -(14110,49740),(14063,49695) -(4170,470),(4097,463) -(22219,17296),(22164,17221) -(2505,20879),(2446,20842) -(47235,24744),(47151,24667) -(30035,23234),(30013,23197) -(3489,11659),(3461,11607) -(38435,46322),(38429,46230) -(12315,32880),(12277,32854) -(33350,35297),(33317,35263) -(18845,37671),(18836,37589) -(24855,23554),(24783,23520) -(48251,44461),(48188,44408) -(17695,43353),(17605,43286) -(4964,21292),(4893,21270) -(33919,29907),(33852,29878) -(29139,40010),(29084,39957) -(41611,37750),(41572,37741) -(41773,34717),(41682,34700) -(8225,7424),(8221,7363) -(1785,28248),(1771,28219) -(21553,36307),(21505,36257) -(7552,18199),(7527,18119) -(14410,30977),(14349,30944) -(20940,49142),(20901,49069) -(36892,5522),(36810,5478) -(40192,20926),(40179,20926) -(44702,15182),(44641,15117) -(43431,4921),(43337,4827) -(41129,21654),(41084,21642) -(6205,42785),(6113,42722) -(23714,10224),(23666,10205) -(9318,35175),(9274,35139) -(40698,12676),(40618,12627) -(49954,1340),(49905,1294) -(32774,33062),(32763,33062) -(4336,22183),(4241,22157) -(10241,47657),(10151,47592) -(6746,16718),(6666,16634) -(26842,49694),(26839,49680) -(34870,47437),(34820,47347) -(26365,22266),(26326,22183) -(39859,932),(39829,840) -(33995,10888),(33902,10793) -(32972,22342),(32951,22340) -(19951,10161),(19932,10111) -(26779,45188),(26745,45151) -(11235,13593),(11184,13589) -(27334,20968),(27288,20953) -(9586,43102),(9488,43085) -(43935,49759),(43925,49680) -(10548,37032),(10474,36955) -(9326,14927),(9295,14848) -(41340,11312),(41311,11303) -(6500,44553),(6454,44515) -(8198,26841),(8104,26749) -(47761,34183),(47702,34140) -(43637,17912),(43577,17910) -(17623,11138),(17590,11122) -(48122,13132),(48077,13060) -(27911,39796),(27908,39777) -(1108,7918),(1080,7832) -(18776,24329),(18699,24326) -(1171,37901),(1075,37871) -(38437,33948),(38364,33907) -(1913,11593),(1817,11533) -(22684,266),(22656,181) -(13299,17075),(13241,17074) -(6924,30196),(6851,30113) -(4367,13150),(4298,13053) -(37381,6101),(37380,6046) -(10307,28383),(10270,28349) -(12283,8636),(12256,8610) -(20230,32775),(20144,32723) -(32942,12812),(32905,12714) -(46140,7138),(46140,7047) -(37235,29436),(37161,29425) -(42486,25454),(42478,25444) -(47860,46973),(47842,46961) -(41760,21026),(41662,20955) -(29663,20088),(29566,20026) -(19167,33241),(19101,33235) -(12306,37845),(12301,37803) -(11288,873),(11203,857) -(30309,5120),(30282,5060) -(46927,19737),(46856,19687) -(16664,20052),(16649,19989) -(7330,8675),(7296,8613) -(45067,45724),(44991,45631) -(45317,10862),(45218,10842) -(15012,47009),(14998,46956) -(47882,10146),(47813,10099) -(31571,46215),(31511,46148) -(32257,2619),(32187,2531) -(38924,41305),(38872,41285) -(49981,34876),(49898,34786) -(30501,35099),(30418,35011) -(45862,41438),(45854,41434) -(38448,31878),(38391,31822) -(8278,43463),(8274,43378) -(5883,30629),(5878,30564) -(49501,40346),(49447,40275) -(31651,43116),(31560,43106) -(44244,32940),(44244,32926) -(17941,18079),(17938,18035) -(9518,32524),(9470,32511) -(30707,43469),(30686,43457) -(3284,46542),(3187,46477) -(43423,29642),(43393,29602) -(19940,16825),(19877,16736) -(26194,47446),(26194,47407) -(30386,24675),(30333,24652) -(42707,44466),(42688,44456) -(43395,18525),(43320,18467) -(28346,32259),(28276,32196) -(45106,40786),(45026,40767) -(36734,20414),(36722,20363) -(37140,11569),(37099,11475) -(8967,6409),(8882,6341) -(31036,27923),(30993,27890) -(22442,47682),(22347,47663) -(32511,24029),(32482,23970) -(22593,34444),(22519,34399) -(41534,15495),(41518,15455) -(35862,19997),(35818,19928) -(31419,8323),(31404,8285) -(31036,19023),(30978,19000) -(46900,15192),(46891,15102) -(12774,9651),(12765,9604) -(49985,6436),(49927,6338) -(7184,47344),(7089,47285) -(12792,45021),(12740,45011) -(15019,27192),(14940,27096) -(35415,23106),(35381,23095) -(42129,14283),(42095,14245) -(29375,45807),(29347,45743) -(21763,24916),(21700,24889) -(47656,8794),(47579,8774) -(6139,49571),(6059,49472) -(44492,45607),(44483,45532) -(22699,4301),(22628,4240) -(27407,24241),(27335,24158) -(38424,34460),(38403,34458) -(46572,48456),(46554,48402) -(39676,29056),(39643,28981) -(4202,33076),(4107,33010) -(32499,10592),(32482,10575) -(22504,45417),(22459,45378) -(49619,40322),(49619,40268) -(14463,9305),(14426,9224) -(10070,20300),(10035,20211) -(35060,28561),(34965,28553) -(23970,47522),(23887,47428) -(46803,19155),(46790,19131) -(46151,49848),(46058,49830) -(45266,40766),(45209,40738) -(31041,32195),(31007,32110) -(41401,17245),(41334,17224) -(37445,654),(37435,602) -(45568,31904),(45508,31857) -(29326,7923),(29285,7896) -(27078,34643),(27027,34606) -(34492,43443),(34437,43345) -(34109,4307),(34083,4265) -(2755,45325),(2727,45312) -(12571,24218),(12536,24195) -(41224,2454),(41149,2445) -(711,34828),(655,34788) -(9104,18865),(9036,18850) -(3508,26816),(3456,26771) -(20159,16212),(20116,16160) -(36871,7425),(36777,7421) -(2751,45244),(2734,45222) -(35867,28071),(35769,28052) -(46878,35730),(46850,35725) -(20610,35086),(20513,35037) -(3903,32612),(3887,32517) -(9330,40226),(9289,40169) -(6338,28242),(6329,28184) -(35668,18344),(35606,18304) -(29892,48927),(29878,48879) -(26999,646),(26932,612) -(36377,38898),(36338,38847) -(40289,31459),(40236,31436) -(30377,1164),(30306,1069) -(7642,12183),(7590,12112) -(40325,1716),(40296,1662) -(36412,38787),(36318,38691) -(3967,33268),(3923,33261) -(33914,40774),(33873,40763) -(45978,41431),(45963,41332) -(39195,12546),(39120,12520) -(29962,30878),(29941,30846) -(9365,10732),(9310,10726) -(28801,23943),(28740,23885) -(28934,38858),(28928,38807) -(22126,45897),(22068,45803) -(2923,33832),(2918,33751) -(25116,2276),(25083,2272) -(31174,14546),(31144,14460) -(11728,9072),(11658,9004) -(19804,49195),(19730,49125) -(23090,28826),(23010,28787) -(33989,27553),(33947,27486) -(39702,47613),(39641,47553) -(31397,3607),(31304,3519) -(5835,9262),(5791,9226) -(40112,37022),(40038,36926) -(12346,29356),(12282,29344) -(28503,9623),(28469,9591) -(38449,43143),(38378,43066) -(36950,37311),(36905,37265) -(34824,5729),(34818,5706) -(9288,26969),(9225,26900) -(2535,42176),(2478,42159) -(29098,49051),(29085,49031) -(44759,33326),(44727,33230) -(42849,2970),(42821,2919) -(46014,27193),(45985,27151) -(14506,13713),(14417,13626) -(19342,44905),(19332,44895) -(38178,37003),(38147,36925) -(29179,27310),(29084,27288) -(42713,10158),(42671,10060) -(43336,38389),(43290,38326) -(41260,34410),(41245,34327) -(27907,2695),(27830,2596) -(16309,44972),(16222,44966) -(6230,22262),(6214,22249) -(9266,39458),(9175,39447) -(33120,33548),(33087,33538) -(43659,11416),(43599,11375) -(49707,39258),(49702,39159) -(23520,22140),(23486,22072) -(24736,46502),(24668,46412) -(7826,16851),(7730,16807) -(39114,6048),(39056,5965) -(11859,8753),(11764,8701) -(42254,48367),(42240,48328) -(26136,49185),(26056,49175) -(38395,11209),(38334,11137) -(33249,9425),(33209,9348) -(22131,38502),(22112,38460) -(5306,24344),(5267,24268) -(30292,1198),(30233,1149) -(9903,10896),(9850,10806) -(25568,22911),(25487,22868) -(22048,43391),(22043,43362) -(20852,25827),(20851,25766) -(35204,17119),(35114,17093) -(5575,43431),(5554,43410) -(17727,13623),(17678,13560) -(14721,29520),(14709,29461) -(40317,42220),(40267,42166) -(31435,31012),(31386,30931) -(40655,10103),(40645,10006) -(35783,17802),(35773,17763) -(34874,10210),(34856,10200) -(3694,14279),(3610,14239) -(27854,5493),(27799,5433) -(34913,7234),(34894,7220) -(15758,26445),(15738,26421) -(23710,7272),(23705,7270) -(33679,13468),(33628,13415) -(31271,40495),(31178,40461) -(759,187),(662,163) -(14419,40434),(14402,40381) -(45879,42933),(45814,42872) -(167,17214),(92,17184) -(9964,12210),(9958,12195) -(35834,46257),(35817,46211) -(26077,5629),(25978,5621) -(46177,44640),(46082,44544) -(44780,28753),(44707,28692) -(35491,24729),(35425,24690) -(33914,34190),(33914,34131) -(17709,33253),(17668,33227) -(45516,11888),(45423,11848) -(24497,24752),(24411,24710) -(30333,5952),(30331,5886) -(444,12587),(430,12497) -(7592,22353),(7541,22287) -(13387,37414),(13329,37318) -(21504,35227),(21449,35210) -(18533,12909),(18438,12848) -(41049,27148),(41048,27088) -(18205,12222),(18151,12140) -(18026,5164),(18026,5156) -(34104,29862),(34006,29815) -(18520,49686),(18454,49602) -(37000,41493),(36920,41424) -(43025,25711),(42986,25687) -(38620,47018),(38535,46934) -(24119,36813),(24023,36739) -(48887,26359),(48879,26302) -(47827,14625),(47810,14609) -(10792,30746),(10776,30716) -(30384,40672),(30318,40582) -(48417,22790),(48358,22746) -(14854,5819),(14785,5798) -(19142,44414),(19085,44406) -(31179,27081),(31145,27005) -(19692,8711),(19659,8642) -(39689,14082),(39603,14051) -(11181,39091),(11119,39002) -(46015,23374),(45936,23328) -(12517,49702),(12427,49690) -(21926,21137),(21841,21111) -(31956,12509),(31870,12494) -(5895,2030),(5851,2020) -(27094,5447),(27014,5377) -(35781,8717),(35780,8618) -(14012,12023),(13972,12015) -(1702,12442),(1696,12419) -(28549,5251),(28462,5248) -(26441,21007),(26360,20925) -(49820,7990),(49771,7967) -(26424,29698),(26339,29693) -(35146,6820),(35071,6817) -(15438,18788),(15435,18729) -(47115,5235),(47096,5143) -(33982,9002),(33915,8925) -(14206,37041),(14174,36955) -(24300,36616),(24232,36613) -(44658,1788),(44580,1769) -(31539,43550),(31463,43464) -(16722,9673),(16633,9652) -(44813,20573),(44733,20544) -(42114,32559),(42040,32552) -(41561,36244),(41477,36241) -(39589,33796),(39548,33716) -(20365,26770),(20329,26709) -(28511,208),(28479,114) -(10010,25524),(9930,25508) -(1549,45666),(1512,45621) -(16193,1927),(16166,1869) -(34486,11500),(34421,11401) -(14048,37944),(13994,37901) -(21692,9594),(21617,9496) -(2568,37899),(2557,37811) -(4360,24503),(4278,24443) -(50027,49230),(49951,49214) -(44849,14867),(44836,14813) -(16695,34896),(16683,34840) -(12600,35217),(12593,35129) -(23113,24009),(23030,23962) -(49907,30225),(49810,30158) -(18026,25208),(17970,25208) -(49711,39844),(49651,39790) -(5427,42682),(5357,42637) -(23901,14221),(23802,14184) -(15470,12185),(15376,12163) -(47302,34023),(47292,34001) -(24336,17418),(24315,17393) -(13948,17043),(13903,16970) -(8555,8986),(8530,8953) -(48830,6038),(48743,5986) -(48720,40687),(48623,40610) -(21161,30970),(21146,30896) -(9507,36316),(9411,36261) -(36643,18136),(36614,18106) -(1858,7457),(1851,7402) -(24452,44306),(24372,44252) -(3292,807),(3205,806) -(6845,30694),(6792,30627) -(21333,25786),(21237,25751) -(23008,22574),(22999,22511) -(8790,8893),(8772,8806) -(43333,47968),(43264,47900) -(5377,24103),(5302,24076) -(18410,23993),(18329,23907) -(24752,19126),(24713,19069) -(49772,11378),(49696,11293) -(3468,12920),(3396,12873) -(1746,40342),(1736,40333) -(49187,29737),(49139,29681) -(27657,44952),(27581,44917) -(35407,30177),(35345,30151) -(4071,40568),(4058,40544) -(25998,30513),(25965,30452) -(8195,45403),(8097,45310) -(8276,41689),(8183,41670) -(48435,28550),(48355,28455) -(8139,25449),(8136,25380) -(20302,25574),(20297,25531) -(22055,46659),(22034,46567) -(3531,49962),(3463,49934) -(46828,46938),(46739,46902) -(42294,786),(42212,739) -(8779,3292),(8761,3275) -(48146,46170),(48082,46151) -(21571,10000),(21531,9919) -(35526,26029),(35450,25945) -(38893,22225),(38865,22197) -(22189,37520),(22132,37497) -(810,43261),(751,43198) -(10352,39144),(10290,39093) -(8740,35435),(8720,35432) -(31657,13551),(31583,13484) -(39803,4019),(39755,4014) -(46353,7853),(46312,7824) -(30078,48975),(30021,48970) -(2847,32036),(2819,31966) -(25250,10147),(25165,10140) -(15643,38953),(15585,38947) -(40792,29798),(40731,29731) -(43249,26858),(43215,26835) -(47229,2199),(47201,2134) -(10052,23601),(9958,23570) -(38981,21615),(38892,21604) -(3651,45004),(3570,44917) -(21503,8261),(21409,8166) -(13518,34201),(13465,34105) -(13899,25117),(13836,25114) -(18327,17403),(18301,17349) -(19503,13648),(19483,13607) -(3554,19487),(3529,19466) -(41102,43355),(41070,43314) -(4663,45858),(4583,45765) -(3971,3023),(3931,2975) -(37124,7061),(37080,6993) -(48530,47172),(48459,47160) -(14575,29843),(14509,29750) -(43443,23124),(43357,23038) -(8864,48290),(8857,48263) -(41597,39852),(41577,39791) -(35610,33392),(35556,33353) -(36415,17906),(36328,17846) -(24919,43933),(24839,43883) -(7457,14056),(7395,14051) -(43851,4090),(43801,4080) -(43567,18468),(43471,18388) -(16711,6084),(16652,6055) -(45888,45934),(45846,45880) -(45630,9313),(45585,9248) -(27119,25969),(27094,25884) -(36155,11420),(36120,11405) -(41880,47111),(41808,47049) -(17554,20379),(17482,20374) -(38848,5936),(38763,5869) -(28324,31019),(28276,30944) -(43257,17152),(43176,17091) -(42717,24613),(42691,24527) -(16786,41486),(16763,41403) -(19259,28780),(19160,28711) -(25843,28265),(25760,28171) -(48645,34816),(48546,34755) -(7004,49289),(6976,49236) -(30261,21833),(30181,21776) -(5290,46672),(5219,46661) -(21237,31901),(21188,31849) -(23340,38537),(23253,38472) -(17269,3682),(17183,3586) -(48200,15377),(48110,15369) -(16546,22195),(16477,22142) -(21436,8460),(21378,8449) -(46598,17235),(46577,17138) -(30212,36184),(30152,36092) -(18037,155),(17941,109) -(4945,29201),(4933,29184) -(32835,18782),(32770,18750) -(34160,33104),(34120,33007) -(5151,26989),(5149,26909) -(1801,15549),(1710,15461) -(48988,34819),(48951,34764) -(20904,32547),(20856,32497) -(32654,35183),(32606,35144) -(14336,11763),(14328,11712) -(30546,23808),(30463,23773) -(6813,21006),(6781,20924) -(14199,22030),(14185,21934) -(3783,14709),(3747,14658) -(49428,47052),(49422,46973) -(29551,27682),(29470,27654) -(29170,37260),(29151,37181) -(48924,24689),(48894,24680) -(48497,34052),(48453,33966) -(21263,8203),(21242,8176) -(46537,3797),(46462,3735) -(18406,14579),(18393,14563) -(11583,16529),(11536,16471) -(10564,46257),(10478,46228) -(49769,34513),(49761,34458) -(9202,6482),(9138,6391) -(40387,37411),(40357,37360) -(11966,11802),(11888,11751) -(15551,47438),(15486,47406) -(12017,43288),(11969,43230) -(9717,22574),(9701,22495) -(35083,49443),(35075,49355) -(33857,9320),(33813,9269) -(32106,10581),(32012,10560) -(14345,12485),(14273,12424) -(24187,46416),(24175,46402) -(43854,42159),(43808,42129) -(35399,40707),(35359,40646) -(29585,25576),(29493,25556) -(24919,7829),(24911,7753) -(17049,48390),(17022,48304) -(25224,35012),(25217,34922) -(47397,20853),(47346,20779) -(17221,16558),(17181,16516) -(8669,16491),(8645,16486) -(23502,44241),(23484,44164) -(36169,37046),(36072,37010) -(44775,32394),(44763,32357) -(30685,36871),(30662,36792) -(21783,47642),(21714,47630) -(34847,27467),(34761,27372) -(43925,49912),(43888,49878) -(16455,27861),(16364,27813) -(38406,18310),(38329,18309) -(5408,9461),(5319,9426) -(41856,36900),(41784,36854) -(23723,4460),(23646,4448) -(18454,40138),(18430,40046) -(17505,36822),(17418,36763) -(36686,33534),(36641,33476) -(11347,9454),(11289,9436) -(27816,34752),(27745,34736) -(44213,8559),(44162,8461) -(45359,26789),(45315,26776) -(31249,19475),(31224,19421) -(25917,44239),(25819,44149) -(47313,40691),(47264,40685) -(40577,33848),(40513,33794) -(9606,45253),(9582,45174) -(30005,24521),(29910,24496) -(49332,35375),(49309,35299) -(12164,33871),(12075,33820) -(19598,43327),(19593,43314) -(3818,28584),(3815,28504) -(35579,8611),(35541,8604) -(8811,20986),(8750,20954) -(16139,44777),(16128,44686) -(35550,41501),(35534,41458) -(43180,11927),(43109,11891) -(45798,8465),(45711,8460) -(18196,6886),(18126,6845) -(1774,32167),(1701,32073) -(7030,40790),(7029,40711) -(11676,23009),(11665,22915) -(33990,22561),(33953,22474) -(30366,9447),(30284,9353) -(37626,32913),(37596,32853) -(7730,42561),(7665,42470) -(49347,8403),(49315,8387) -(6874,3499),(6812,3458) -(44189,16999),(44169,16964) -(6312,30167),(6231,30083) -(18932,6611),(18909,6518) -(32262,13076),(32223,13057) -(45989,249),(45910,222) -(42710,855),(42692,796) -(25562,9849),(25535,9802) -(13348,46719),(13260,46689) -(30022,42196),(30005,42160) -(22263,45954),(22243,45950) -(18918,18890),(18820,18795) -(31918,12003),(31852,11989) -(12252,39453),(12211,39398) -(40208,9789),(40194,9759) -(35943,21767),(35914,21693) -(18439,10706),(18383,10618) -(2803,18999),(2778,18925) -(14953,27444),(14875,27397) -(12587,22025),(12545,21928) -(33930,21090),(33918,21009) -(10444,2606),(10407,2553) -(28700,29782),(28665,29703) -(1402,13497),(1397,13465) -(24155,3075),(24083,3062) -(38378,1864),(38339,1849) -(29261,49910),(29247,49818) -(38139,37073),(38098,37057) -(24468,41130),(24418,41053) -(9989,1015),(9959,939) -(47001,33561),(46994,33518) -(47058,16030),(46983,16012) -(35509,1814),(35426,1748) -(3630,48019),(3597,47923) -(47781,12986),(47741,12947) -(16364,9908),(16356,9882) -(17290,41508),(17287,41410) -(42423,26477),(42349,26434) -(10039,920),(9952,833) -(16851,21338),(16846,21314) -(23104,7700),(23062,7688) -(5619,2079),(5611,2075) -(31471,49632),(31375,49549) -(25793,12526),(25783,12456) -(3935,29528),(3866,29513) -(5957,1646),(5947,1595) -(2467,22376),(2429,22349) -(43715,32673),(43664,32595) -(6726,13093),(6636,12994) -(31477,18347),(31421,18299) -(34232,36635),(34200,36552) -(49061,14516),(49008,14442) -(43996,6129),(43955,6074) -(7728,33802),(7670,33703) -(6131,36766),(6053,36749) -(35791,16361),(35696,16329) -(45759,8935),(45675,8886) -(43634,2029),(43537,1940) -(4916,32233),(4844,32181) -(46701,23508),(46623,23477) -(29590,4893),(29552,4871) -(38647,4423),(38574,4396) -(7593,25845),(7497,25751) -(8510,43552),(8432,43492) -(18791,39181),(18730,39162) -(7462,2956),(7454,2858) -(1394,26795),(1392,26780) -(16707,21993),(16609,21932) -(26838,10866),(26803,10836) -(31642,29842),(31585,29760) -(21891,3502),(21863,3406) -(13258,587),(13250,507) -(6072,47397),(6021,47369) -(16605,49730),(16579,49659) -(42830,40981),(42791,40981) -(12975,3706),(12913,3637) -(30925,21660),(30826,21649) -(1455,14229),(1410,14156) -(17583,16486),(17562,16474) -(33377,3387),(33333,3381) -(784,6177),(750,6095) -(22111,44110),(22106,44013) -(1444,403),(1346,344) -(4010,46220),(3982,46212) -(17932,8150),(17861,8127) -(38685,31466),(38636,31416) -(14257,11549),(14242,11522) -(14990,15217),(14904,15211) -(21395,21533),(21307,21520) -(31948,33725),(31885,33694) -(433,49033),(390,48961) -(45205,609),(45173,523) -(25065,35494),(25003,35455) -(33265,6677),(33224,6611) -(18179,22345),(18133,22256) -(3916,13759),(3820,13732) -(1696,13478),(1604,13436) -(47203,25980),(47130,25907) -(24913,13361),(24868,13268) -(13824,40177),(13792,40130) -(25671,13555),(25585,13494) -(20133,37769),(20105,37679) -(26368,16734),(26288,16726) -(30545,35438),(30458,35376) -(48816,22926),(48812,22831) -(48807,31389),(48739,31330) -(11003,10859),(10950,10765) -(17288,8570),(17247,8485) -(38377,31415),(38331,31379) -(19085,23425),(19059,23326) -(40059,17068),(40052,17006) -(18811,13493),(18734,13394) -(36319,17197),(36225,17181) -(14939,38780),(14863,38714) -(49539,17656),(49479,17629) -(42530,45951),(42466,45854) -(27318,26654),(27233,26610) -(49980,35004),(49937,34963) -(18326,32558),(18322,32502) -(45951,28555),(45896,28481) -(12104,33531),(12014,33501) -(22311,41113),(22215,41066) -(25073,18721),(25047,18656) -(14524,13486),(14510,13390) -(40040,36688),(40000,36599) -(21594,11473),(21563,11436) -(44031,22274),(43938,22187) -(729,30683),(668,30601) -(14114,20873),(14102,20803) -(28239,41377),(28222,41308) -(26404,11922),(26317,11843) -(41660,34586),(41585,34501) -(21128,2384),(21101,2368) -(30209,16952),(30156,16858) -(39078,24963),(39045,24898) -(5598,1348),(5499,1294) -(38474,7436),(38450,7364) -(15117,45734),(15024,45693) -(23909,39853),(23888,39780) -(24292,30183),(24282,30148) -(48871,17661),(48868,17637) -(918,18752),(847,18708) -(43615,16162),(43606,16104) -(33763,47410),(33751,47409) -(4798,6485),(4773,6388) -(18524,41539),(18433,41518) -(47745,42449),(47651,42364) -(38936,21237),(38864,21204) -(5251,3516),(5194,3475) -(22269,36269),(22183,36228) -(18736,40983),(18685,40947) -(38393,15444),(38356,15363) -(38134,29898),(38103,29862) -(37789,39557),(37732,39474) -(31906,23005),(31838,23003) -(10647,40094),(10560,40040) -(9914,41547),(9867,41545) -(44221,443),(44125,433) -(41479,10936),(41381,10847) -(42586,6301),(42563,6235) -(2504,17588),(2449,17554) -(7045,18782),(7028,18764) -(41840,32018),(41768,31938) -(38416,17158),(38330,17060) -(8605,39015),(8605,38933) -(5764,43548),(5719,43496) -(20789,29902),(20696,29843) -(36104,47896),(36079,47816) -(31736,13834),(31722,13832) -(32617,19701),(32597,19684) -(1671,18997),(1622,18945) -(36007,26545),(36005,26535) -(31864,17494),(31820,17455) -(27346,28388),(27303,28289) -(8191,9653),(8133,9589) -(7501,21616),(7405,21536) -(35450,9580),(35368,9563) -(29281,37276),(29247,37255) -(6225,17192),(6200,17135) -(43689,8119),(43670,8028) -(41917,49601),(41835,49563) -(44295,13116),(44205,13078) -(22721,44772),(22667,44748) -(32640,11107),(32636,11050) -(20639,28851),(20613,28839) -(32479,10159),(32446,10061) -(27251,16978),(27196,16959) -(41401,33148),(41339,33074) -(49001,8538),(48989,8444) -(37958,35843),(37874,35802) -(46969,41229),(46903,41138) -(18541,8876),(18541,8870) -(4080,31634),(4061,31627) -(8097,35240),(8040,35152) -(18470,21414),(18463,21412) -(20914,17897),(20838,17869) -(42688,11681),(42666,11641) -(47525,25005),(47443,24907) -(32439,14438),(32397,14400) -(39667,19626),(39622,19542) -(1212,44525),(1169,44516) -(29766,4433),(29668,4401) -(25847,49657),(25813,49605) -(33859,17356),(33827,17263) -(28989,45953),(28904,45854) -(37211,30830),(37113,30819) -(45220,26382),(45219,26340) -(12312,43250),(12234,43246) -(37775,41504),(37762,41421) -(45889,33499),(45822,33411) -(49461,22601),(49369,22553) -(39857,33844),(39816,33824) -(46102,15822),(46030,15778) -(46605,31239),(46598,31170) -(23925,5856),(23862,5808) -(15459,4262),(15407,4241) -(12019,4907),(12015,4818) -(38258,17973),(38229,17923) -(40575,29566),(40477,29521) -(29715,45919),(29697,45891) -(11694,9510),(11670,9490) -(7053,44257),(7012,44231) -(16465,8603),(16391,8505) -(29170,15592),(29098,15527) -(20400,37354),(20345,37328) -(5281,10265),(5252,10184) -(6084,48782),(6058,48727) -(11006,6889),(10971,6796) -(16299,19461),(16286,19411) -(13718,29192),(13642,29106) -(3999,2965),(3963,2903) -(18509,12235),(18430,12208) -(49542,38575),(49537,38534) -(15093,41715),(15071,41634) -(6802,8385),(6714,8300) -(15127,17507),(15097,17424) -(36921,3025),(36835,2995) -(32117,24327),(32101,24262) -(27244,24151),(27165,24104) -(36339,42360),(36313,42358) -(47288,46252),(47245,46184) -(37867,6649),(37818,6565) -(14886,22103),(14865,22089) -(39611,17952),(39513,17951) -(37329,31436),(37298,31436) -(5715,39115),(5698,39099) -(13266,7364),(13203,7296) -(16076,10945),(16006,10942) -(7197,41509),(7126,41413) -(14411,40868),(14330,40772) -(12872,33481),(12862,33454) -(17786,19616),(17758,19560) -(1052,37358),(996,37311) -(42825,12643),(42762,12625) -(20007,49858),(19921,49778) -(27155,6355),(27072,6257) -(14117,40208),(14022,40155) -(47280,34069),(47279,34028) -(17551,15803),(17482,15763) -(1725,6673),(1676,6649) -(43984,31128),(43961,31105) -(43772,47042),(43731,47038) -(46901,47317),(46817,47228) -(19877,14179),(19837,14168) -(20691,19989),(20675,19935) -(4011,18914),(3963,18817) -(1023,23378),(933,23317) -(30051,46118),(29966,46039) -(43499,46488),(43496,46409) -(43531,2412),(43447,2396) -(16034,32285),(15976,32220) -(12817,21365),(12740,21298) -(7607,47293),(7585,47293) -(32512,12218),(32463,12170) -(1848,21496),(1839,21439) -(17567,23073),(17478,23046) -(35813,31847),(35807,31792) -(563,30859),(540,30842) -(13145,15488),(13063,15433) -(36754,37479),(36731,37411) -(1125,26069),(1057,25997) -(4539,20676),(4519,20618) -(8476,34721),(8409,34681) -(7794,25691),(7727,25656) -(23842,514),(23800,473) -(47678,41396),(47668,41365) -(6837,25974),(6799,25892) -(13355,11174),(13304,11161) -(37243,25548),(37158,25471) -(12528,30208),(12441,30205) -(14929,1672),(14886,1607) -(27263,49026),(27263,49010) -(15892,21645),(15835,21642) -(29446,48978),(29360,48967) -(41304,9892),(41211,9825) -(37418,49393),(37338,49296) -(41146,32178),(41120,32165) -(28738,13326),(28722,13266) -(14899,36595),(14873,36559) -(1973,31435),(1921,31426) -(19485,17742),(19421,17661) -(33072,20995),(32980,20903) -(47091,30055),(47080,30037) -(45753,12998),(45686,12992) -(11528,7826),(11509,7794) -(21104,13921),(21060,13836) -(16768,15491),(16747,15470) -(13279,20396),(13249,20326) -(4342,49518),(4339,49446) -(20413,15476),(20349,15447) -(45532,5649),(45484,5627) -(18647,27196),(18619,27115) -(1326,17473),(1261,17400) -(47646,19644),(47588,19609) -(35088,1813),(35080,1732) -(38461,34839),(38410,34838) -(34358,11540),(34285,11506) -(26969,7078),(26953,6989) -(12629,40352),(12617,40264) -(33800,7037),(33731,6992) -(24462,13518),(24392,13486) -(33164,47357),(33096,47329) -(15422,18451),(15413,18376) -(19643,12916),(19567,12912) -(40860,42125),(40770,42050) -(49103,29614),(49039,29606) -(36319,35582),(36222,35528) -(8924,36083),(8873,36018) -(49603,44022),(49505,44021) -(7783,40633),(7702,40618) -(25388,49107),(25346,49042) -(28375,38947),(28306,38919) -(47324,22672),(47321,22660) -(2287,8808),(2266,8719) -(44343,16339),(44248,16318) -(2374,28839),(2336,28798) -(22913,40710),(22819,40688) -(47747,684),(47658,627) -(16043,46011),(16021,45984) -(34958,32168),(34903,32092) -(4840,49328),(4752,49258) -(24341,2087),(24330,2009) -(18378,19374),(18327,19358) -(48165,7217),(48156,7141) -(14232,6044),(14182,6004) -(23080,4196),(22983,4191) -(259,1850),(175,1820) -(270,29508),(264,29440) -(45088,11375),(45050,11295) -(29666,39386),(29656,39302) -(8712,8782),(8660,8713) -(15900,6650),(15855,6561) -(28946,28348),(28917,28347) -(32544,25845),(32538,25779) -(44047,6957),(43951,6942) -(36465,588),(36382,503) -(28167,26679),(28150,26673) -(16065,4268),(15975,4180) -(12950,23494),(12893,23494) -(30145,24679),(30056,24654) -(3027,16162),(3001,16071) -(8259,34537),(8202,34484) -(41447,1515),(41427,1454) -(18407,28362),(18309,28303) -(21393,41872),(21328,41816) -(46040,26497),(45996,26408) -(49944,25163),(49902,25153) -(16195,11843),(16159,11831) -(44257,15270),(44254,15214) -(49760,4791),(49699,4713) -(22558,33709),(22519,33681) -(28375,10003),(28336,9938) -(18179,24310),(18106,24256) -(707,30688),(664,30669) -(5851,26118),(5822,26037) -(4266,1292),(4221,1217) -(16516,11331),(16432,11248) -(32374,38277),(32313,38245) -(21939,8015),(21927,7952) -(34322,32051),(34242,32003) -(6262,35977),(6260,35953) -(16717,38594),(16622,38498) -(14564,3433),(14535,3425) -(21078,1000),(20994,974) -(28584,956),(28575,868) -(5538,9962),(5465,9870) -(34183,44102),(34175,44085) -(42507,10289),(42441,10288) -(12671,19936),(12594,19920) -(24835,12179),(24770,12173) -(15664,11538),(15598,11494) -(28892,24446),(28821,24350) -(41654,26720),(41570,26632) -(36583,387),(36503,357) -(10842,34824),(10795,34788) -(11518,42588),(11429,42565) -(12577,40322),(12486,40266) -(2453,4045),(2439,3956) -(31837,33705),(31803,33681) -(24403,27711),(24383,27705) -(4431,2748),(4337,2656) -(3036,2887),(3014,2826) -(37664,16118),(37615,16022) -(8606,18063),(8587,18038) -(24738,25458),(24656,25362) -(45756,34022),(45671,33948) -(34079,15236),(33981,15171) -(9251,22488),(9228,22470) -(25136,2809),(25126,2717) -(5548,47695),(5543,47685) -(13765,40800),(13707,40754) -(25216,30678),(25144,30677) -(22441,17169),(22392,17106) -(1091,4770),(1054,4734) -(36311,50073),(36258,49987) -(22461,33163),(22457,33128) -(35873,28907),(35845,28867) -(42907,15848),(42904,15785) -(6549,24897),(6540,24861) -(21928,37764),(21891,37681) -(21237,41132),(21139,41086) -(12207,24266),(12173,24235) -(40643,49770),(40574,49687) -(32833,35686),(32815,35674) -(14545,18143),(14541,18098) -(33892,42783),(33884,42707) -(33933,8381),(33921,8369) -(12450,19044),(12403,19002) -(10176,45158),(10088,45145) -(35828,12080),(35732,12022) -(28102,13694),(28061,13666) -(49432,31744),(49340,31711) -(16192,37743),(16162,37697) -(46830,867),(46756,790) -(9200,28048),(9159,27986) -(13397,19369),(13340,19288) -(30879,43562),(30785,43545) -(21995,48224),(21920,48143) -(11871,47569),(11809,47568) -(29366,22196),(29280,22154) -(26243,28176),(26203,28116) -(28995,35031),(28906,35014) -(29384,39276),(29352,39183) -(8497,13798),(8471,13789) -(7412,27226),(7334,27220) -(25403,47678),(25363,47654) -(11599,5556),(11574,5502) -(44056,5123),(44008,5111) -(49603,30877),(49579,30840) -(32261,45876),(32206,45865) -(35104,41659),(35048,41587) -(5457,35844),(5376,35782) -(29423,3977),(29354,3959) -(18059,3001),(17965,2961) -(8509,5691),(8463,5620) -(27118,5762),(27083,5747) -(2991,48605),(2939,48559) -(44482,3484),(44425,3459) -(45143,16439),(45046,16365) -(2236,37531),(2147,37530) -(41561,3217),(41490,3210) -(6270,27200),(6171,27166) -(49195,24871),(49138,24798) -(46985,38881),(46897,38845) -(37486,23522),(37404,23441) -(26907,14490),(26900,14391) -(30829,16111),(30756,16056) -(3644,17291),(3587,17262) -(20508,49775),(20472,49680) -(43279,8972),(43198,8936) -(33744,7470),(33734,7439) -(46303,20538),(46284,20498) -(10365,48246),(10291,48154) -(12636,24987),(12545,24933) -(40998,46992),(40989,46916) -(30536,6073),(30531,6018) -(22102,9643),(22051,9594) -(18616,34348),(18530,34332) -(8222,8907),(8123,8848) -(45698,28860),(45698,28770) -(26958,1748),(26924,1726) -(26735,35073),(26659,35025) -(48370,40813),(48293,40737) -(13140,993),(13108,934) -(10588,22893),(10528,22883) -(23645,40789),(23567,40698) -(49548,12374),(49546,12329) -(41135,39626),(41100,39602) -(41374,10856),(41328,10769) -(12234,5765),(12146,5674) -(12832,46941),(12764,46917) -(47886,34532),(47851,34500) -(23777,10549),(23735,10495) -(1291,16913),(1194,16873) -(29239,30554),(29202,30500) -(36485,30007),(36454,29924) -(7067,11320),(7045,11229) -(16939,30482),(16904,30462) -(27423,34386),(27379,34303) -(35170,32021),(35155,31979) -(42570,36477),(42474,36457) -(19695,679),(19682,594) -(47537,39450),(47446,39450) -(19410,22942),(19375,22922) -(34216,40166),(34152,40158) -(37000,24351),(36972,24299) -(24989,1681),(24954,1672) -(54,38679),(3,38602) -(41461,40693),(41411,40599) -(7576,46054),(7545,45963) -(35505,28262),(35413,28222) -(1158,16976),(1145,16927) -(23494,42291),(23437,42229) -(32894,32519),(32880,32485) -(604,13413),(509,13401) -(18396,19712),(18355,19646) -(26657,28234),(26597,28191) -(24240,47211),(24154,47191) -(41778,10741),(41766,10730) -(44022,43776),(44010,43677) -(35967,30055),(35906,29969) -(28878,18042),(28806,18027) -(31507,27302),(31428,27267) -(13267,21935),(13265,21872) -(122,46832),(64,46762) -(10348,45916),(10306,45844) -(22962,12644),(22927,12607) -(6320,22290),(6284,22247) -(2297,11372),(2216,11298) -(29366,36660),(29325,36654) -(13962,39307),(13921,39220) -(11094,19151),(11092,19143) -(32289,23776),(32258,23760) -(36044,17356),(35956,17273) -(46304,38692),(46232,38675) -(10934,42999),(10922,42909) -(4271,21177),(4207,21093) -(7837,19926),(7747,19905) -(25537,36605),(25477,36584) -(22161,14999),(22079,14962) -(5127,31243),(5074,31213) -(14904,40664),(14838,40593) -(29308,8480),(29268,8438) -(17731,7410),(17699,7352) -(44840,29293),(44797,29248) -(15523,31519),(15505,31485) -(34429,38479),(34421,38478) -(3530,23456),(3440,23390) -(4699,6889),(4603,6796) -(47405,48524),(47389,48514) -(23357,43160),(23305,43156) -(16923,1995),(16860,1937) -(47592,33853),(47537,33758) -(31624,37490),(31595,37473) -(42321,13380),(42303,13337) -(3088,16094),(3079,16060) -(22884,2955),(22856,2857) -(17784,23073),(17724,23044) -(32638,45577),(32553,45512) -(13876,44091),(13801,44000) -(27844,24384),(27758,24330) -(28178,10225),(28155,10167) -(39910,14277),(39857,14241) -(30372,19524),(30301,19514) -(38732,43151),(38724,43151) -(32628,2068),(32547,2068) -(13950,28652),(13932,28566) -(38996,41070),(38919,40993) -(31759,45246),(31676,45215) -(5424,34145),(5382,34106) -(14727,45600),(14699,45547) -(31429,21537),(31414,21499) -(14740,3420),(14650,3323) -(21793,39498),(21743,39471) -(18102,25924),(18037,25868) -(33299,683),(33213,594) -(45882,48765),(45809,48721) -(49215,4098),(49180,4067) -(49698,33743),(49614,33663) -(21532,5215),(21514,5151) -(24840,26877),(24826,26808) -(32680,28433),(32631,28364) -(20661,27511),(20584,27414) -(28048,30385),(28009,30315) -(45403,42533),(45389,42464) -(46531,36947),(46531,36850) -(36943,32817),(36865,32737) -(37984,43763),(37888,43748) -(20593,10650),(20557,10610) -(5387,40595),(5326,40585) -(34412,10600),(34352,10539) -(7237,47546),(7206,47451) -(39931,26644),(39915,26598) -(29843,4734),(29800,4669) -(37503,8867),(37406,8821) -(2583,2373),(2570,2294) -(29275,46433),(29256,46350) -(3332,45620),(3287,45581) -(22472,39287),(22472,39257) -(36786,18907),(36708,18884) -(45503,28576),(45482,28494) -(33262,28386),(33163,28365) -(3606,49757),(3538,49697) -(2082,49380),(1991,49281) -(12065,3734),(11983,3663) -(15606,9048),(15596,9028) -(14687,19309),(14637,19263) -(4568,15461),(4499,15428) -(43938,7429),(43923,7391) -(2168,50012),(2108,49914) -(16022,8934),(15963,8928) -(24567,39147),(24561,39102) -(42781,14149),(42765,14088) -(39501,21084),(39468,21078) -(6697,29628),(6693,29584) -(11441,16164),(11364,16125) -(39946,1920),(39868,1844) -(18138,45512),(18111,45438) -(20799,41217),(20718,41138) -(30264,16697),(30240,16639) -(30746,50040),(30727,49992) -(37429,43273),(37423,43205) -(22854,28863),(22789,28810) -(11380,48298),(11287,48242) -(16471,37273),(16439,37223) -(32737,39842),(32661,39811) -(30959,3447),(30949,3357) -(36396,13263),(36348,13187) -(29607,14625),(29531,14619) -(7851,43399),(7824,43334) -(38515,14575),(38496,14492) -(29125,3289),(29086,3264) -(6866,10476),(6839,10424) -(318,31489),(235,31404) -(1140,7007),(1113,6945) -(36574,9291),(36484,9275) -(40320,40937),(40246,40866) -(588,25849),(552,25801) -(6728,42539),(6645,42507) -(12180,6185),(12123,6123) -(32913,44123),(32899,44037) -(25464,16803),(25441,16749) -(23711,5829),(23695,5750) -(31424,34930),(31377,34906) -(42171,8298),(42124,8222) -(451,31104),(375,31083) -(39996,3278),(39943,3260) -(25816,40396),(25735,40362) -(34471,28587),(34399,28547) -(45344,21540),(45297,21496) -(27269,16787),(27246,16763) -(18070,4469),(18022,4423) -(12668,16367),(12645,16295) -(13823,17276),(13730,17251) -(20555,45544),(20511,45498) -(35893,42189),(35861,42177) -(37081,45730),(37076,45705) -(17270,15651),(17201,15552) -(48690,46034),(48667,45945) -(456,16088),(368,16023) -(48707,12416),(48670,12363) -(29692,11509),(29614,11483) -(7005,3668),(6981,3574) -(12162,389),(12103,309) -(12371,24983),(12366,24964) -(6886,48414),(6868,48327) -(10653,26234),(10624,26142) -(8526,48205),(8517,48117) -(10521,31892),(10480,31798) -(43353,1086),(43281,1071) -(21007,35650),(20998,35649) -(2343,4396),(2310,4320) -(29379,12895),(29284,12891) -(27662,17407),(27570,17313) -(9845,29346),(9807,29321) -(43855,38669),(43790,38599) -(20461,44189),(20397,44158) -(11627,17368),(11581,17289) -(2971,38855),(2938,38807) -(43204,47082),(43128,47018) -(9930,46902),(9909,46871) -(30561,48461),(30536,48365) -(44059,7591),(44038,7563) -(46260,16898),(46162,16886) -(27491,2891),(27396,2814) -(36512,26034),(36455,25941) -(31193,20022),(31100,19942) -(17057,13643),(16960,13621) -(26897,3399),(26844,3318) -(1760,5504),(1683,5431) -(29347,5511),(29346,5450) -(38761,42083),(38688,41999) -(11226,4089),(11165,4068) -(46427,42983),(46361,42970) -(12958,30737),(12912,30712) -(44432,46521),(44333,46443) -(16124,2948),(16113,2852) -(24704,25422),(24635,25340) -(30833,46152),(30790,46122) -(4487,37006),(4473,36968) -(41047,23376),(41036,23327) -(16312,49392),(16298,49330) -(30081,14687),(30042,14660) -(11160,13954),(11103,13938) -(33207,23246),(33143,23168) -(14872,7635),(14860,7585) -(20139,23987),(20059,23955) -(10946,49757),(10923,49746) -(39438,36158),(39426,36134) -(35502,2385),(35464,2327) -(17073,42173),(16987,42130) -(6079,17258),(6068,17195) -(40458,15752),(40364,15728) -(23340,7879),(23313,7806) -(31819,15096),(31762,15059) -(31159,40864),(31158,40780) -(26975,32144),(26915,32113) -(34530,10378),(34440,10298) -(18855,49577),(18780,49528) -(16787,16625),(16723,16586) -(32330,26538),(32314,26458) -(34270,28674),(34265,28595) -(10022,16026),(10006,15962) -(23143,1479),(23095,1469) -(33676,4483),(33583,4408) -(31066,22074),(31059,22035) -(21603,47121),(21563,47082) -(30051,4244),(30021,4157) -(30634,39478),(30615,39446) -(34404,48724),(34393,48724) -(31103,21414),(31039,21380) -(22945,47397),(22849,47313) -(18133,32025),(18073,31941) -(4053,25759),(3977,25667) -(39185,39091),(39102,39068) -(43287,7407),(43225,7314) -(13137,31188),(13112,31182) -(46264,1438),(46258,1389) -(22804,43892),(22769,43822) -(7542,1044),(7487,983) -(33022,8321),(32925,8267) -(384,39161),(286,39073) -(28205,24401),(28142,24382) -(31708,39086),(31696,39026) -(36626,15708),(36560,15690) -(17099,16924),(17079,16924) -(10817,6989),(10747,6955) -(24338,19293),(24291,19277) -(27566,17576),(27544,17545) -(23041,38384),(22970,38320) -(12786,8485),(12702,8435) -(13876,49473),(13813,49448) -(31585,46998),(31490,46929) -(30227,8768),(30206,8715) -(32062,39306),(32023,39292) -(25003,35753),(24921,35687) -(3281,6758),(3232,6704) -(11395,30299),(11376,30220) -(5088,15275),(5007,15203) -(31100,39538),(31003,39444) -(2741,17877),(2726,17793) -(42897,48620),(42860,48537) -(4230,15778),(4181,15776) -(17835,27530),(17815,27431) -(34189,10933),(34135,10921) -(7537,39974),(7494,39973) -(21554,3507),(21528,3476) -(9350,32326),(9273,32275) -(16455,8874),(16420,8793) -(7346,34235),(7330,34224) -(16417,48134),(16352,48066) -(41916,4971),(41849,4886) -(15856,1522),(15807,1521) -(41549,40218),(41494,40144) -(9978,16226),(9972,16181) -(14856,13312),(14808,13283) -(38490,41641),(38428,41583) -(25828,7438),(25807,7378) -(21876,30633),(21796,30587) -(1908,14279),(1825,14247) -(32207,10251),(32121,10184) -(370,9493),(328,9441) -(42072,17634),(41974,17600) -(47298,9910),(47235,9846) -(17856,11266),(17782,11225) -(35009,21400),(34956,21396) -(18337,11145),(18335,11133) -(25425,9139),(25381,9085) -(35642,27783),(35621,27782) -(3629,33164),(3575,33163) -(17151,41255),(17115,41204) -(17417,5835),(17402,5751) -(33407,14226),(33329,14141) -(1930,29955),(1889,29931) -(41101,10942),(41065,10844) -(36333,27288),(36281,27233) -(21423,36868),(21367,36825) -(36385,19566),(36341,19510) -(27073,38301),(27066,38232) -(43989,34187),(43984,34174) -(48366,7488),(48316,7483) -(37497,36075),(37415,36043) -(46917,9891),(46887,9870) -(37179,657),(37103,634) -(3877,44736),(3811,44684) -(30556,2975),(30547,2962) -(7629,11447),(7547,11416) -(45687,48147),(45591,48088) -(5635,7184),(5571,7146) -(9611,47327),(9541,47246) -(7119,48224),(7117,48152) -(15233,26480),(15138,26430) -(37468,1526),(37466,1513) -(20855,2786),(20828,2711) -(30538,44084),(30480,44061) -(42231,41527),(42149,41454) -(14963,13239),(14952,13146) -(26819,43996),(26745,43934) -(42172,35953),(42086,35928) -(28785,12611),(28710,12534) -(14089,1704),(14047,1629) -(4343,26242),(4341,26169) -(20327,42244),(20231,42212) -(33671,12700),(33666,12630) -(42144,32642),(42128,32569) -(26590,19483),(26503,19442) -(21741,46259),(21723,46226) -(8822,34700),(8760,34693) -(2710,33521),(2675,33505) -(26067,19998),(26026,19989) -(12244,34509),(12202,34489) -(47162,598),(47119,499) -(33093,49382),(33068,49359) -(35170,26340),(35153,26264) -(22552,35785),(22490,35735) -(36791,23032),(36781,22976) -(22857,10857),(22833,10797) -(47207,37405),(47138,37365) -(21867,2836),(21854,2811) -(3387,31487),(3311,31456) -(47174,48121),(47167,48101) -(24415,22232),(24366,22224) -(7970,29251),(7959,29211) -(18635,31294),(18539,31221) -(8403,13380),(8370,13372) -(738,18097),(737,18054) -(37238,19195),(37218,19114) -(582,47934),(570,47897) -(12359,4635),(12350,4619) -(43272,2013),(43195,1958) -(47568,27149),(47521,27088) -(24695,12827),(24661,12796) -(26259,14077),(26168,14019) -(48478,36135),(48425,36092) -(5230,39250),(5206,39174) -(3488,18562),(3423,18489) -(39502,16331),(39460,16275) -(18296,1478),(18233,1471) -(28627,12430),(28559,12410) -(25257,21981),(25206,21954) -(2410,41192),(2325,41142) -(43681,9631),(43587,9538) -(15086,45309),(15064,45270) -(13824,40807),(13759,40787) -(7090,2207),(7062,2159) -(3685,2480),(3630,2391) -(14810,38335),(14801,38275) -(26668,38018),(26581,38012) -(45562,1517),(45506,1424) -(11001,32481),(10962,32402) -(27743,25245),(27673,25161) -(15952,10598),(15948,10535) -(12705,13308),(12694,13232) -(31992,21195),(31975,21118) -(25834,16652),(25745,16626) -(21022,43625),(20990,43576) -(45094,27254),(45000,27240) -(9688,42601),(9643,42533) -(17746,24659),(17694,24616) -(1509,38859),(1503,38809) -(2067,20438),(2041,20369) -(7885,44528),(7839,44444) -(27432,33052),(27422,32987) -(26577,17157),(26563,17142) -(10815,35985),(10734,35908) -(44891,24067),(44794,23979) -(48626,1900),(48595,1850) -(40659,35541),(40659,35489) -(22231,26628),(22210,26579) -(37408,23016),(37375,22919) -(5920,15916),(5906,15895) -(33125,9952),(33037,9880) -(12142,29705),(12141,29670) -(3672,20995),(3649,20899) -(39147,31967),(39101,31907) -(33812,48458),(33748,48399) -(25038,14639),(24978,14586) -(3859,16010),(3857,15994) -(31926,39496),(31889,39417) -(49300,28064),(49297,28026) -(24121,38305),(24048,38256) -(9252,4205),(9155,4149) -(36124,30451),(36056,30395) -(28809,49557),(28794,49533) -(30500,44504),(30471,44476) -(26866,42395),(26822,42332) -(48195,1784),(48101,1734) -(46201,14109),(46112,14097) -(2415,9975),(2354,9914) -(30485,9581),(30415,9558) -(6385,36838),(6305,36838) -(2799,11189),(2723,11095) -(21998,20503),(21923,20406) -(29151,10714),(29090,10671) -(28850,29276),(28757,29207) -(43386,48845),(43305,48834) -(25173,8310),(25101,8294) -(34244,32352),(34204,32342) -(35595,23728),(35533,23672) -(1122,13581),(1119,13538) -(388,21716),(296,21678) -(48782,11064),(48701,11005) -(40293,12997),(40213,12927) -(28194,46428),(28113,46414) -(4791,18118),(4708,18105) -(471,29808),(448,29775) -(3536,37803),(3447,37737) -(1336,28416),(1275,28392) -(16484,48478),(16422,48454) -(25846,19320),(25811,19296) -(48669,27703),(48575,27615) -(24032,44217),(24029,44127) -(12236,5019),(12233,4986) -(1179,29838),(1113,29778) -(33893,22049),(33867,21955) -(16718,19462),(16700,19440) -(17992,49438),(17894,49433) -(35163,39941),(35081,39885) -(33897,8362),(33853,8328) -(2480,6640),(2456,6599) -(28011,19729),(27937,19679) -(15819,41516),(15809,41440) -(29818,9136),(29747,9089) -(28551,37016),(28529,36941) -(36406,26879),(36374,26872) -(16821,48925),(16758,48914) -(23692,48163),(23595,48160) -(4803,10619),(4759,10522) -(46600,33581),(46553,33518) -(41349,11767),(41310,11710) -(20856,29642),(20799,29562) -(16559,46161),(16504,46131) -(23041,1300),(23003,1287) -(16630,44902),(16554,44853) -(43065,14299),(43013,14274) -(24818,22397),(24796,22348) -(22282,24949),(22218,24921) -(36668,28538),(36631,28456) -(8080,1220),(8018,1146) -(47282,34302),(47277,34269) -(35603,33558),(35557,33495) -(44764,32189),(44700,32175) -(46488,23965),(46449,23868) -(46314,15047),(46216,15013) -(6348,25381),(6286,25363) -(3871,49288),(3819,49251) -(462,38894),(398,38867) -(23196,29214),(23136,29169) -(29024,9775),(29016,9759) -(42016,18555),(41934,18472) -(8772,45981),(8692,45973) -(11028,1351),(10986,1278) -(26684,21668),(26641,21656) -(37262,26005),(37260,25947) -(14899,44069),(14814,44066) -(39635,18701),(39587,18698) -(28528,22948),(28457,22857) -(7755,36528),(7681,36454) -(32461,1172),(32427,1106) -(18775,27359),(18736,27329) -(15379,20031),(15337,19934) -(45888,33592),(45881,33544) -(44013,24694),(43962,24645) -(43347,10699),(43343,10699) -(49999,27218),(49908,27176) -(13698,17326),(13630,17317) -(34850,44313),(34775,44302) -(38076,49235),(37983,49214) -(35570,40218),(35500,40136) -(40062,28973),(40032,28878) -(3567,39847),(3523,39781) -(498,2442),(480,2401) -(29660,43620),(29577,43561) -(10946,47356),(10878,47351) -(8073,44233),(8005,44144) -(9720,13473),(9710,13462) -(3643,38014),(3598,37932) -(16887,1408),(16810,1375) -(7559,27914),(7508,27874) -(30356,18573),(30275,18569) -(12193,48176),(12130,48116) -(11884,7756),(11819,7731) -(18293,33272),(18227,33234) -(46697,47874),(46696,47828) -(35788,32517),(35760,32446) -(33877,36987),(33821,36958) -(31253,22819),(31184,22808) -(7744,23115),(7729,23103) -(21291,39817),(21219,39778) -(13877,43379),(13861,43290) -(42955,1406),(42876,1382) -(49232,15950),(49210,15880) -(48419,32001),(48326,31902) -(18940,43246),(18860,43150) -(32317,38240),(32310,38201) -(11307,48298),(11304,48222) -(38015,18190),(38000,18176) -(27821,1177),(27818,1131) -(18935,26757),(18865,26682) -(42659,48284),(42562,48244) -(30185,23350),(30146,23291) -(16496,11970),(16441,11919) -(162,26040),(120,25963) -(24238,47784),(24185,47746) -(32326,8612),(32274,8568) -(26141,13423),(26051,13407) -(40132,22815),(40089,22812) -(21151,48794),(21056,48740) -(22044,28358),(22031,28334) -(6680,14746),(6605,14669) -(40686,25139),(40632,25070) -(22823,27549),(22816,27507) -(2513,22841),(2427,22811) -(36316,27787),(36218,27728) -(554,35489),(540,35441) -(536,30674),(534,30609) -(25385,38468),(25295,38416) -(19467,47386),(19437,47317) -(22425,38591),(22387,38536) -(32493,17321),(32396,17298) -(40115,47315),(40109,47235) -(25002,2107),(24963,2104) -(3901,9790),(3898,9706) -(40316,1721),(40315,1658) -(40089,3454),(40074,3443) -(793,17897),(761,17897) -(6490,43552),(6434,43522) -(10825,487),(10820,405) -(47703,36067),(47641,36011) -(4480,11671),(4468,11653) -(37713,10642),(37711,10615) -(12315,5302),(12273,5203) -(8709,6617),(8647,6557) -(24467,30535),(24455,30494) -(40440,32757),(40369,32668) -(49449,42447),(49426,42428) -(44867,11197),(44792,11137) -(39173,33241),(39143,33187) -(43836,2212),(43803,2184) -(23819,47613),(23739,47575) -(20583,2134),(20485,2042) -(48922,6169),(48889,6111) -(5230,44613),(5131,44604) -(37060,8051),(37032,7975) -(19148,36711),(19112,36704) -(36305,4216),(36243,4118) -(6329,39089),(6302,39047) -(36703,26367),(36623,26307) -(44753,19721),(44701,19631) -(42094,43310),(42094,43285) -(4276,22377),(4241,22352) -(30329,18906),(30327,18815) -(21970,19605),(21871,19590) -(23722,41924),(23709,41861) -(30965,39775),(30908,39692) -(32394,37895),(32351,37890) -(23968,42162),(23873,42095) -(1776,2621),(1732,2548) -(24951,47758),(24900,47679) -(32917,35771),(32847,35753) -(5428,27773),(5343,27769) -(19650,142),(19630,51) -(39769,17276),(39743,17229) -(5171,24562),(5119,24470) -(32976,35249),(32917,35199) -(4174,24603),(4099,24504) -(38565,36960),(38535,36926) -(39084,4328),(39031,4301) -(32153,38043),(32070,37990) -(38085,30640),(38041,30603) -(14269,18426),(14185,18422) -(42941,30850),(42892,30788) -(32403,25999),(32339,25960) -(16906,191),(16816,139) -(3456,48722),(3418,48721) -(3050,18287),(3022,18243) -(6331,8439),(6234,8364) -(5331,20797),(5319,20793) -(39225,37408),(39216,37348) -(34510,19838),(34488,19810) -(45789,33873),(45770,33786) -(369,1457),(278,1409) -(16531,43785),(16482,43729) -(11974,14789),(11973,14730) -(23128,6811),(23094,6798) -(43962,33659),(43944,33599) -(20967,3115),(20947,3079) -(39257,38606),(39241,38595) -(22431,8246),(22381,8235) -(26007,14672),(25996,14593) -(24762,4261),(24675,4261) -(35402,32077),(35343,31988) -(5141,16476),(5139,16393) -(16439,17564),(16344,17472) -(36983,46663),(36903,46567) -(35170,14144),(35162,14048) -(22290,7841),(22283,7810) -(22414,38398),(22404,38319) -(9011,18177),(8932,18150) -(154,4019),(138,3990) -(20447,4998),(20383,4970) -(38867,35757),(38795,35659) -(32322,15845),(32227,15804) -(29889,12142),(29852,12055) -(36235,36918),(36217,36897) -(41620,6581),(41568,6581) -(24758,38504),(24731,38483) -(42524,12904),(42473,12895) -(17954,49975),(17865,49915) -(1938,39019),(1927,39013) -(4864,33279),(4817,33258) -(45373,41967),(45313,41885) -(28786,19028),(28782,18978) -(41913,44950),(41911,44908) -(33408,14698),(33392,14681) -(27602,3460),(27576,3419) -(3336,3728),(3334,3715) -(9099,910),(9080,813) -(34141,6403),(34071,6367) -(48270,17216),(48252,17130) -(2549,16546),(2461,16474) -(27802,33669),(27735,33642) -(48419,1682),(48323,1583) -(5094,41211),(5002,41123) -(11192,6217),(11190,6146) -(6979,18503),(6959,18421) -(41210,48187),(41140,48143) -(15303,29527),(15273,29441) -(12326,45572),(12267,45570) -(29293,5861),(29212,5826) -(23847,37241),(23761,37178) -(44656,23926),(44653,23831) -(30043,16194),(29977,16105) -(902,9358),(879,9339) -(23850,46501),(23834,46494) -(42333,13300),(42287,13246) -(25226,18086),(25169,18005) -(40252,12082),(40183,12038) -(49275,18076),(49216,18055) -(8255,28878),(8238,28862) -(11325,41286),(11320,41235) -(16948,18588),(16926,18528) -(31394,1099),(31374,1038) -(30705,35772),(30637,35766) -(3858,39131),(3771,39125) -(17565,24892),(17515,24808) -(9221,49715),(9216,49661) -(44945,25769),(44875,25722) -(33408,13563),(33310,13527) -(48505,4407),(48408,4373) -(21859,37217),(21763,37217) -(39393,14422),(39335,14364) -(19905,1154),(19841,1098) -(25946,10388),(25906,10366) -(10104,13748),(10027,13746) -(5822,24629),(5820,24599) -(38194,11287),(38127,11252) -(15694,46757),(15625,46716) -(326,18837),(285,18817) -(49611,47078),(49533,47052) -(48233,18850),(48150,18842) -(29239,9962),(29208,9875) -(40062,44554),(39973,44460) -(19135,20729),(19059,20643) -(31969,40664),(31896,40643) -(3725,9191),(3711,9095) -(44280,40158),(44264,40108) -(37236,42756),(37160,42694) -(27958,19055),(27888,18959) -(45270,17661),(45187,17601) -(12115,39546),(12061,39525) -(10227,32295),(10168,32231) -(39264,31123),(39226,31085) -(6566,40000),(6532,39904) -(30058,6975),(30012,6903) -(49631,6909),(49597,6823) -(42168,10926),(42134,10905) -(44892,30042),(44858,29970) -(19540,19803),(19495,19788) -(18403,25454),(18371,25404) -(22929,26795),(22841,26722) -(16648,30213),(16626,30174) -(3440,7495),(3429,7468) -(30708,49028),(30643,48998) -(26258,14164),(26255,14151) -(44206,31653),(44121,31637) -(1510,15179),(1426,15130) -(6986,30496),(6887,30416) -(7192,43403),(7138,43339) -(39921,22071),(39866,21976) -(45870,17011),(45796,16919) -(15939,9563),(15917,9539) -(23728,24737),(23691,24725) -(6444,40416),(6363,40375) -(21899,23861),(21857,23765) -(20610,36765),(20533,36742) -(46520,33082),(46433,32983) -(21406,20902),(21311,20895) -(37913,42300),(37814,42269) -(18216,8177),(18161,8173) -(32967,8258),(32899,8244) -(14978,40230),(14971,40149) -(30343,39152),(30266,39101) -(25917,5835),(25843,5806) -(5169,45366),(5141,45314) -(16221,20898),(16209,20875) -(13151,19869),(13145,19811) -(44399,2801),(44337,2713) -(10959,48311),(10957,48230) -(4794,11711),(4732,11661) -(764,10149),(762,10091) -(15985,46067),(15898,46028) -(41434,22870),(41342,22867) -(43769,23796),(43743,23756) -(10017,18440),(9919,18384) -(21141,43119),(21097,43112) -(7782,13424),(7694,13398) -(25088,36224),(25059,36150) -(46325,48722),(46241,48631) -(11042,33125),(11011,33071) -(22347,13460),(22290,13375) -(3508,20538),(3483,20536) -(5331,42945),(5272,42875) -(2368,15537),(2339,15503) -(45314,31830),(45254,31817) -(34358,2649),(34319,2589) -(17576,30407),(17572,30323) -(29836,41324),(29746,41287) -(21036,39996),(21014,39899) -(26886,6460),(26787,6400) -(15709,5625),(15627,5558) -(37415,15979),(37414,15911) -(47761,16860),(47728,16813) -(35814,48252),(35755,48173) -(28559,20810),(28496,20715) -(12034,11921),(12002,11905) -(1818,27450),(1805,27406) -(33810,45499),(33806,45413) -(17376,18175),(17323,18138) -(34106,28135),(34049,28106) -(44947,23165),(44919,23091) -(37670,41904),(37616,41840) -(12614,15027),(12555,14969) -(43301,75),(43227,43) -(27526,15096),(27450,15088) -(26947,33409),(26853,33333) -(1537,43572),(1471,43499) -(21607,35452),(21605,35375) -(24869,46565),(24818,46531) -(4774,30335),(4723,30257) -(11615,18316),(11579,18310) -(18444,15819),(18354,15763) -(47267,22574),(47203,22518) -(22287,49538),(22203,49511) -(43010,16270),(43010,16202) -(1623,8350),(1578,8254) -(21220,43808),(21137,43748) -(40397,16471),(40358,16434) -(34839,1377),(34744,1327) -(17096,5730),(17090,5637) -(28156,37782),(28155,37723) -(3672,5686),(3586,5638) -(21856,48656),(21840,48638) -(6907,7791),(6892,7761) -(17952,21370),(17862,21350) -(37793,13461),(37784,13381) -(14740,49655),(14709,49604) -(21690,6337),(21593,6289) -(10423,33548),(10364,33498) -(39187,23274),(39136,23197) -(21882,37247),(21835,37167) -(11343,16957),(11281,16914) -(38279,43400),(38264,43352) -(23167,30271),(23086,30224) -(46278,6037),(46180,5964) -(28626,31165),(28605,31095) -(31018,367),(30946,333) -(23541,12541),(23530,12523) -(49741,14535),(49691,14511) -(31444,12702),(31425,12612) -(22406,26536),(22316,26534) -(6807,9761),(6758,9723) -(15698,1941),(15687,1848) -(49310,4625),(49295,4584) -(21345,18939),(21269,18887) -(31433,30493),(31411,30439) -(44980,12400),(44950,12372) -(25054,13949),(24984,13949) -(40538,7253),(40483,7212) -(16967,8627),(16936,8604) -(26872,3646),(26804,3594) -(24575,42883),(24530,42883) -(11823,5755),(11771,5721) -(2553,46189),(2513,46174) -(24993,14552),(24898,14470) -(28453,1719),(28419,1665) -(8925,22603),(8878,22589) -(47635,15380),(47546,15378) -(35378,18112),(35324,18058) -(27347,22264),(27293,22200) -(44323,29044),(44273,28958) -(41538,38324),(41484,38290) -(19128,49932),(19112,49849) -(17904,12548),(17867,12503) -(35103,14426),(35092,14336) -(29807,10142),(29714,10052) -(44507,22903),(44462,22847) -(11419,13324),(11399,13251) -(8573,42221),(8562,42123) -(46798,45843),(46765,45765) -(12028,31783),(11967,31749) -(10635,45300),(10604,45251) -(9626,8248),(9587,8194) -(18290,741),(18246,732) -(39949,44672),(39932,44641) -(7897,11692),(7893,11637) -(20165,42246),(20112,42168) -(4341,48390),(4285,48338) -(30126,28913),(30088,28869) -(40565,1733),(40472,1721) -(9981,30147),(9915,30133) -(47292,25511),(47217,25462) -(20137,24489),(20104,24392) -(2385,28283),(2381,28189) -(20429,10052),(20357,10009) -(8395,38568),(8348,38480) -(17381,36112),(17349,36038) -(37845,30953),(37759,30926) -(27452,12732),(27411,12652) -(38196,32186),(38114,32116) -(6527,49356),(6508,49315) -(43891,29789),(43856,29723) -(6146,37192),(6085,37107) -(42012,28897),(41939,28808) -(14909,13815),(14846,13757) -(11120,24095),(11035,24049) -(3132,41545),(3053,41526) -(40084,40315),(39994,40261) -(39671,17445),(39576,17361) -(47135,35853),(47085,35831) -(39297,1941),(39290,1911) -(47143,35898),(47072,35880) -(16017,6711),(15989,6686) -(47110,30305),(47087,30213) -(38102,27639),(38091,27602) -(17954,22544),(17863,22453) -(39891,11791),(39815,11739) -(13996,20290),(13922,20278) -(22284,23143),(22190,23081) -(25345,24019),(25313,24017) -(47134,44803),(47055,44761) -(41360,16573),(41326,16503) -(10464,1071),(10457,998) -(23515,47517),(23451,47499) -(9308,8452),(9238,8392) -(28695,5657),(28671,5644) -(45104,9913),(45077,9871) -(337,455),(240,359) -(11562,45479),(11472,45428) -(11952,18466),(11931,18425) -(35789,5154),(35775,5128) -(19024,18299),(18979,18230) -(43056,38113),(42975,38067) -(10075,26847),(10064,26806) -(3065,8107),(3029,8038) -(24766,19059),(24749,18985) -(14438,24805),(14413,24708) -(9523,3058),(9485,2998) -(24516,31262),(24478,31204) -(49513,26044),(49434,26035) -(14110,38528),(14103,38461) -(31679,35618),(31619,35618) -(10029,20258),(10008,20248) -(39269,37586),(39233,37539) -(12343,8197),(12247,8113) -(11155,44223),(11111,44134) -(25437,20606),(25338,20534) -(46604,16156),(46570,16131) -(4636,14004),(4592,13941) -(15975,29628),(15912,29556) -(49887,24274),(49805,24184) -(11812,13440),(11723,13418) -(21589,38179),(21531,38085) -(32255,44463),(32219,44454) -(15023,12698),(14989,12687) -(28906,48630),(28818,48568) -(28886,38905),(28861,38832) -(34786,22285),(34740,22240) -(46513,46780),(46425,46780) -(26626,31759),(26551,31677) -(19792,25967),(19763,25933) -(20432,14394),(20388,14365) -(27092,7301),(27052,7278) -(22283,987),(22198,928) -(6197,24363),(6112,24311) -(46601,49259),(46551,49231) -(12392,48052),(12363,48038) -(46116,31386),(46067,31356) -(7354,16855),(7289,16778) -(47501,42808),(47495,42761) -(16461,25487),(16391,25398) -(42678,18798),(42678,18756) -(9466,18207),(9419,18185) -(17467,14177),(17416,14097) -(28533,31886),(28487,31832) -(13225,38472),(13188,38395) -(5180,40970),(5173,40902) -(83,10271),(15,10265) -(2111,6784),(2016,6690) -(41835,11064),(41798,10995) -(29273,48585),(29181,48536) -(29066,21615),(28985,21543) -(19805,44143),(19727,44128) -(48919,21468),(48875,21467) -(28790,34287),(28721,34251) -(10911,33074),(10869,32989) -(6111,16519),(6032,16489) -(43889,33838),(43837,33768) -(32323,21685),(32304,21644) -(9552,27819),(9539,27753) -(38266,49852),(38233,49844) -(37672,48362),(37663,48277) -(32550,47029),(32529,46931) -(46307,6620),(46272,6616) -(23192,46608),(23105,46566) -(30399,48330),(30335,48239) -(36268,25058),(36235,24984) -(19181,8120),(19089,8098) -(24376,19983),(24294,19925) -(18297,18375),(18202,18292) -(31608,6215),(31575,6168) -(12788,49510),(12784,49468) -(46071,13013),(46035,12991) -(27647,8218),(27582,8201) -(49580,11076),(49537,11050) -(35501,33782),(35501,33687) -(19969,3148),(19964,3082) -(37728,49153),(37726,49152) -(5322,48440),(5321,48435) -(48003,10096),(47904,10005) -(39361,22318),(39348,22236) -(30488,7456),(30437,7430) -(18533,39476),(18481,39394) -(39462,23701),(39433,23604) -(26701,18300),(26686,18235) -(17405,35577),(17387,35517) -(33971,29928),(33953,29919) -(6328,10241),(6276,10217) -(32459,44259),(32453,44217) -(1715,42385),(1647,42357) -(48113,6960),(48103,6872) -(30561,4255),(30476,4240) -(38907,43619),(38827,43553) -(29149,20773),(29070,20698) -(17006,1543),(16970,1497) -(11737,18808),(11714,18788) -(13019,30534),(13005,30481) -(39224,31729),(39191,31683) -(4942,41680),(4907,41596) -(12287,37187),(12188,37172) -(30758,29579),(30725,29531) -(16604,17963),(16581,17912) -(19459,15888),(19409,15812) -(34696,24783),(34600,24725) -(21621,14159),(21558,14110) -(12193,46149),(12145,46096) -(37781,4715),(37692,4635) -(41854,44125),(41807,44040) -(23604,23585),(23571,23533) -(7853,36967),(7797,36908) -(2755,13279),(2720,13206) -(4314,15424),(4283,15383) -(29584,12685),(29493,12594) -(25138,33726),(25042,33691) -(38393,10270),(38326,10185) -(4247,12615),(4225,12567) -(36100,33156),(36100,33107) -(20024,40796),(20016,40708) -(3927,44892),(3914,44843) -(10317,43168),(10226,43096) -(22057,3419),(22042,3334) -(37097,21814),(37025,21811) -(32084,21564),(31996,21491) -(34079,39921),(34058,39911) -(23078,47459),(23018,47373) -(38109,616),(38082,568) -(11862,40382),(11764,40292) -(33403,33320),(33389,33289) -(36639,24829),(36623,24829) -(12995,45080),(12992,45040) -(16545,19981),(16532,19891) -(26155,10659),(26154,10634) -(24423,255),(24360,213) -(823,22487),(781,22442) -(12823,20064),(12735,20040) -(19688,11710),(19681,11654) -(2892,20452),(2836,20424) -(15533,10807),(15464,10711) -(46994,41143),(46955,41082) -(18155,2421),(18069,2392) -(2628,12688),(2605,12602) -(35128,8396),(35044,8365) -(44765,49615),(44758,49524) -(11226,44529),(11178,44515) -(31334,32463),(31291,32456) -(43224,23387),(43168,23364) -(30882,10414),(30798,10395) -(29139,967),(29139,923) -(29959,45244),(29877,45223) -(19946,217),(19941,118) -(49732,22033),(49642,22012) -(32914,15360),(32879,15290) -(47825,21097),(47747,21030) -(10788,5131),(10746,5086) -(15497,9698),(15481,9678) -(10617,47195),(10601,47117) -(42392,10583),(42340,10550) -(10753,33520),(10669,33509) -(5553,21580),(5521,21527) -(36840,12336),(36817,12320) -(49785,12554),(49702,12553) -(17737,38349),(17639,38277) -(48000,7823),(47956,7814) -(5019,3184),(4931,3160) -(30120,3524),(30063,3492) -(37044,2016),(37001,1942) -(23496,38566),(23469,38528) -(17255,48957),(17200,48903) -(27815,2138),(27808,2090) -(40440,11129),(40368,11105) -(35305,21772),(35272,21717) -(41308,45065),(41229,44973) -(14893,28807),(14817,28789) -(30776,45824),(30731,45772) -(742,40724),(652,40672) -(5985,41133),(5927,41097) -(9576,10226),(9540,10218) -(21407,23207),(21323,23160) -(44880,34228),(44877,34169) -(29146,49694),(29143,49682) -(28502,34886),(28471,34832) -(30662,5584),(30604,5528) -(12612,26081),(12552,26001) -(17166,49308),(17098,49270) -(9586,14116),(9488,14104) -(37323,47576),(37264,47482) -(48009,49713),(48004,49614) -(49308,23780),(49297,23760) -(8667,32342),(8592,32294) -(37826,48560),(37822,48485) -(24493,18653),(24486,18616) -(17914,3850),(17887,3775) -(34270,43873),(34231,43826) -(7753,44715),(7660,44651) -(44328,36364),(44265,36350) -(10146,3030),(10111,2975) -(35273,40106),(35269,40062) -(38566,43846),(38547,43760) -(12400,41394),(12377,41378) -(45196,38286),(45153,38250) -(48511,14972),(48428,14883) -(25939,36328),(25886,36277) -(38997,11007),(38979,10917) -(30342,518),(30244,453) -(6876,7468),(6867,7454) -(17566,27575),(17566,27480) -(18869,28538),(18858,28475) -(16825,33309),(16726,33255) -(14585,26111),(14490,26035) -(28743,49392),(28664,49349) -(26652,23359),(26618,23297) -(40129,33653),(40102,33584) -(41074,26393),(41038,26389) -(3869,33564),(3869,33536) -(28455,14205),(28364,14163) -(13866,45603),(13770,45543) -(21666,30586),(21578,30544) -(29978,11931),(29893,11868) -(1594,1043),(1517,971) -(948,1201),(907,1156) -(27547,13692),(27545,13677) -(13661,38184),(13566,38154) -(2389,40026),(2317,39938) -(35481,46379),(35481,46320) -(26917,45698),(26864,45689) -(23933,41617),(23909,41539) -(8912,8471),(8862,8401) -(9625,4747),(9558,4692) -(34743,35056),(34721,34969) -(39544,21762),(39475,21717) -(11741,26330),(11656,26293) -(39015,1315),(38966,1285) -(13418,44237),(13326,44202) -(2107,17672),(2093,17616) -(42448,28844),(42370,28764) -(49843,5175),(49808,5145) -(6536,23000),(6467,22958) -(11114,5822),(11027,5739) -(48457,11074),(48384,11024) -(12343,23110),(12310,23074) -(17300,24847),(17276,24825) -(8823,8253),(8793,8238) -(3449,171),(3354,108) -(21650,23955),(21605,23883) -(13260,3234),(13193,3214) -(25361,10896),(25305,10806) -(25051,25042),(25011,25001) -(25044,25088),(25015,25005) -(25007,25061),(25002,25013) -(25066,25105),(25003,25007) -(25028,25012),(25015,25011) -(25031,25057),(25006,25018) -(25015,25042),(25004,25012) -(25091,25049),(25019,25019) -(25023,25011),(25000,25004) -(25053,25104),(25010,25012) -(25058,25001),(25018,25000) -(25059,25051),(25008,25016) -(25043,25069),(25007,25004) -(25006,25101),(25002,25002) -(25095,25012),(25014,25007) -(25054,25052),(25019,25013) -(25108,25077),(25009,25018) -(25007,25023),(25003,25002) -(25076,25098),(25002,25016) -(25030,25077),(25012,25006) diff --git a/contrib/cube/expected/cube.out b/contrib/cube/expected/cube.out deleted file mode 100644 index ed94a25b44..0000000000 --- a/contrib/cube/expected/cube.out +++ /dev/null @@ -1,950 +0,0 @@ --- --- Test cube datatype --- --- --- first, define the datatype. Turn off echoing so that expected file --- does not depend on contents of cube.sql. --- -\set ECHO none --- --- testing the input and output functions --- --- Any number (a one-dimensional point) -SELECT '1'::cube AS cube; - cube ------- - (1) -(1 row) - -SELECT '-1'::cube AS cube; - cube ------- - (-1) -(1 row) - -SELECT '1.'::cube AS cube; - cube ------- - (1) -(1 row) - -SELECT '-1.'::cube AS cube; - cube ------- - (-1) -(1 row) - -SELECT '.1'::cube AS cube; - cube -------- - (0.1) -(1 row) - -SELECT '-.1'::cube AS cube; -ERROR: parse error, expecting `FLOAT' or `O_PAREN' or `O_BRACKET' at or before position 2, character ('.', \056), input: '-.1' - -SELECT '1.0'::cube AS cube; - cube ------- - (1) -(1 row) - -SELECT '-1.0'::cube AS cube; - cube ------- - (-1) -(1 row) - -SELECT '1e7'::cube AS cube; - cube ---------- - (1e+07) -(1 row) - -SELECT '-1e7'::cube AS cube; - cube ----------- - (-1e+07) -(1 row) - -SELECT '1.0e7'::cube AS cube; - cube ---------- - (1e+07) -(1 row) - -SELECT '-1.0e7'::cube AS cube; - cube ----------- - (-1e+07) -(1 row) - -SELECT '1e+7'::cube AS cube; - cube ---------- - (1e+07) -(1 row) - -SELECT '-1e+7'::cube AS cube; - cube ----------- - (-1e+07) -(1 row) - -SELECT '1.0e+7'::cube AS cube; - cube ---------- - (1e+07) -(1 row) - -SELECT '-1.0e+7'::cube AS cube; - cube ----------- - (-1e+07) -(1 row) - -SELECT '1e-7'::cube AS cube; - cube ---------- - (1e-07) -(1 row) - -SELECT '-1e-7'::cube AS cube; - cube ----------- - (-1e-07) -(1 row) - -SELECT '1.0e-7'::cube AS cube; - cube ---------- - (1e-07) -(1 row) - -SELECT '-1.0e-7'::cube AS cube; - cube ----------- - (-1e-07) -(1 row) - -SELECT '1e-700'::cube AS cube; - cube ------- - (0) -(1 row) - -SELECT '-1e-700'::cube AS cube; - cube ------- - (0) -(1 row) - --- simple lists (points) -SELECT '1,2'::cube AS cube; - cube --------- - (1, 2) -(1 row) - -SELECT '(1,2)'::cube AS cube; - cube --------- - (1, 2) -(1 row) - -SELECT '1,2,3,4,5'::cube AS cube; - cube ------------------ - (1, 2, 3, 4, 5) -(1 row) - -SELECT '(1,2,3,4,5)'::cube AS cube; - cube ------------------ - (1, 2, 3, 4, 5) -(1 row) - --- double lists (cubes) -SELECT '(0),(0)'::cube AS cube; - cube ------- - (0) -(1 row) - -SELECT '(0),(1)'::cube AS cube; - cube ---------- - (0),(1) -(1 row) - -SELECT '[(0),(0)]'::cube AS cube; - cube ------- - (0) -(1 row) - -SELECT '[(0),(1)]'::cube AS cube; - cube ---------- - (0),(1) -(1 row) - -SELECT '(0,0,0,0),(0,0,0,0)'::cube AS cube; - cube --------------- - (0, 0, 0, 0) -(1 row) - -SELECT '(0,0,0,0),(1,0,0,0)'::cube AS cube; - cube ---------------------------- - (0, 0, 0, 0),(1, 0, 0, 0) -(1 row) - -SELECT '[(0,0,0,0),(0,0,0,0)]'::cube AS cube; - cube --------------- - (0, 0, 0, 0) -(1 row) - -SELECT '[(0,0,0,0),(1,0,0,0)]'::cube AS cube; - cube ---------------------------- - (0, 0, 0, 0),(1, 0, 0, 0) -(1 row) - --- invalid input: parse errors -SELECT ''::cube AS cube; -ERROR: cube_in: can't parse an empty string -SELECT 'ABC'::cube AS cube; -ERROR: parse error, expecting `FLOAT' or `O_PAREN' or `O_BRACKET' at or before position 1, character ('A', \101), input: 'ABC' - -SELECT '()'::cube AS cube; -ERROR: parse error, expecting `FLOAT' at or before position 2, character (')', \051), input: '()' - -SELECT '[]'::cube AS cube; -ERROR: parse error, expecting `O_PAREN' at or before position 2, character (']', \135), input: '[]' - -SELECT '[()]'::cube AS cube; -ERROR: parse error, expecting `FLOAT' at or before position 3, character (')', \051), input: '[()]' - -SELECT '[(1)]'::cube AS cube; -ERROR: parse error, expecting `COMMA' at or before position 5, character (']', \135), input: '[(1)]' - -SELECT '[(1),]'::cube AS cube; -ERROR: parse error, expecting `O_PAREN' at or before position 6, character (']', \135), input: '[(1),]' - -SELECT '[(1),2]'::cube AS cube; -ERROR: parse error, expecting `O_PAREN' at or before position 7, character (']', \135), input: '[(1),2]' - -SELECT '[(1),(2),(3)]'::cube AS cube; -ERROR: parse error, expecting `C_BRACKET' at or before position 9, character (',', \054), input: '[(1),(2),(3)]' - -SELECT '1,'::cube AS cube; -ERROR: parse error, expecting `FLOAT' at or before position 2, character (',', \054), input: '1,' - -SELECT '1,2,'::cube AS cube; -ERROR: parse error, expecting `FLOAT' at or before position 4, character (',', \054), input: '1,2,' - -SELECT '1,,2'::cube AS cube; -ERROR: parse error, expecting `FLOAT' at or before position 3, character (',', \054), input: '1,,2' - -SELECT '(1,)'::cube AS cube; -ERROR: parse error, expecting `FLOAT' at or before position 4, character (')', \051), input: '(1,)' - -SELECT '(1,2,)'::cube AS cube; -ERROR: parse error, expecting `FLOAT' at or before position 6, character (')', \051), input: '(1,2,)' - -SELECT '(1,,2)'::cube AS cube; -ERROR: parse error, expecting `FLOAT' at or before position 4, character (',', \054), input: '(1,,2)' - --- invalid input: semantic errors and trailing garbage -SELECT '[(1),(2)],'::cube AS cube; -- 0 -ERROR: (0) bad cube representation; garbage at or before char 9, (',', \054) - -SELECT '[(1,2,3),(2,3)]'::cube AS cube; -- 1 -ERROR: (1) bad cube representation; different point dimensions in (1,2,3) and (2,3) - -SELECT '[(1,2),(1,2,3)]'::cube AS cube; -- 1 -ERROR: (1) bad cube representation; different point dimensions in (1,2) and (1,2,3) - -SELECT '(1),(2),'::cube AS cube; -- 2 -ERROR: (2) bad cube representation; garbage at or before char 7, (',', \054) - -SELECT '(1,2,3),(2,3)'::cube AS cube; -- 3 -ERROR: (3) bad cube representation; different point dimensions in (1,2,3) and (2,3) - -SELECT '(1,2),(1,2,3)'::cube AS cube; -- 3 -ERROR: (3) bad cube representation; different point dimensions in (1,2) and (1,2,3) - -SELECT '(1,2,3)ab'::cube AS cube; -- 4 -ERROR: (4) bad cube representation; garbage at or before char 8, ('b', \142) - -SELECT '(1,2,3)a'::cube AS cube; -- 5 -ERROR: (5) bad cube representation; garbage at or before char 8, ('end of input', \000) - -SELECT '(1,2)('::cube AS cube; -- 5 -ERROR: (5) bad cube representation; garbage at or before char 6, ('end of input', \000) - -SELECT '1,2ab'::cube AS cube; -- 6 -ERROR: (6) bad cube representation; garbage at or before char 4, ('b', \142) - -SELECT '1 e7'::cube AS cube; -- 6 -ERROR: (6) bad cube representation; garbage at or before char 3, ('7', \067) - -SELECT '1,2a'::cube AS cube; -- 7 -ERROR: (7) bad cube representation; garbage at or before char 4, ('end of input', \000) - -SELECT '1..2'::cube AS cube; -- 7 -ERROR: (7) bad cube representation; garbage at or before char 4, ('end of input', \000) - --- --- testing the operators --- --- equality/inequality: --- -SELECT '24, 33.20'::cube = '24, 33.20'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '24, 33.20'::cube != '24, 33.20'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '24, 33.20'::cube = '24, 33.21'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '24, 33.20'::cube != '24, 33.21'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(2,0),(3,1)'::cube = '(2,0,0,0,0),(3,1,0,0,0)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(2,0),(3,1)'::cube = '(2,0,0,0,0),(3,1,0,0,1)'::cube AS bool; - bool ------- - f -(1 row) - --- "lower than" / "greater than" --- (these operators are not useful for anything but ordering) --- -SELECT '1'::cube > '2'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '1'::cube < '2'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '1,1'::cube > '1,2'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '1,1'::cube < '1,2'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(2,0),(3,1)'::cube > '(2,0,0,0,0),(3,1,0,0,1)'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(2,0),(3,1)'::cube < '(2,0,0,0,0),(3,1,0,0,1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(2,0),(3,1)'::cube > '(2,0,0,0,1),(3,1,0,0,0)'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(2,0),(3,1)'::cube < '(2,0,0,0,1),(3,1,0,0,0)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(2,0),(3,1)'::cube > '(2,0,0,0,0),(3,1,0,0,0)'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(2,0),(3,1)'::cube < '(2,0,0,0,0),(3,1,0,0,0)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(2,0,0,0,0),(3,1,0,0,1)'::cube > '(2,0),(3,1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(2,0,0,0,0),(3,1,0,0,1)'::cube < '(2,0),(3,1)'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(2,0,0,0,1),(3,1,0,0,0)'::cube > '(2,0),(3,1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(2,0,0,0,1),(3,1,0,0,0)'::cube < '(2,0),(3,1)'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(2,0,0,0,0),(3,1,0,0,0)'::cube > '(2,0),(3,1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(2,0,0,0,0),(3,1,0,0,0)'::cube < '(2,0),(3,1)'::cube AS bool; - bool ------- - f -(1 row) - --- "overlap" --- -SELECT '1'::cube && '1'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '1'::cube && '2'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '0'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '1'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '1,1,1'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '[(1,1,1),(2,2,2)]'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '[(1,1),(2,2)]'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '[(2,1,1),(2,2,2)]'::cube AS bool; - bool ------- - f -(1 row) - --- "overlap on the left" / "overlap on the right" --- (these operators are not useful at all but R-tree seems to be --- sensitive to their presence) --- -SELECT '1'::cube &< '0'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '1'::cube &< '1'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '1'::cube &< '2'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(0),(1)'::cube &< '0'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(0),(1)'::cube &< '1'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(0),(1)'::cube &< '(0),(0.5)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(0),(1)'::cube &< '(0),(1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(0),(1)'::cube &< '(0),(2)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(0),(1)'::cube &< '(1),(2)'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(0),(1)'::cube &< '(2),(3)'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '0'::cube &> '1'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '1'::cube &> '1'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '2'::cube &> '1'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '0'::cube &> '(0),(1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '1'::cube &> '(0),(1)'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(0),(0.5)' &> '(0),(1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(0),(1)'::cube &> '(0),(1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(0),(2)'::cube &> '(0),(1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(1),(2)'::cube &> '(0),(1)'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(2),(3)'::cube &> '(0),(1)'::cube AS bool; - bool ------- - f -(1 row) - --- "left" / "right" --- (these operators are not useful but for 1-D or 2-D cubes, but R-tree --- seems to want them defined) --- -SELECT '1'::cube << '0'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '1'::cube << '1'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '1'::cube << '2'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(0),(1)'::cube << '0'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(0),(1)'::cube << '1'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(0),(1)'::cube << '(0),(0.5)'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(0),(1)'::cube << '(0),(1)'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(0),(1)'::cube << '(0),(2)'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(0),(1)'::cube << '(1),(2)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(0),(1)'::cube << '(2),(3)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '0'::cube >> '1'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '1'::cube >> '1'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '2'::cube >> '1'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '0'::cube >> '(0),(1)'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '1'::cube >> '(0),(1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(0),(0.5)' >> '(0),(1)'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(0),(1)'::cube >> '(0),(1)'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(0),(2)'::cube >> '(0),(1)'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(1),(2)'::cube >> '(0),(1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(2),(3)'::cube >> '(0),(1)'::cube AS bool; - bool ------- - t -(1 row) - --- "contained in" (the left operand is the cube entirely enclosed by --- the right operand): --- -SELECT '0'::cube ~ '0'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '0,0,0'::cube ~ '0,0,0'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '0,0'::cube ~ '0,0,1'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '0,0,0'::cube ~ '0,0,1'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '1,0,0'::cube ~ '0,0,1'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(1,0,0),(0,0,1)'::cube ~ '(1,0,0),(0,0,1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(1,0,0),(0,0,1)'::cube ~ '(-1,-1,-1),(1,1,1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(1,0,0),(0,0,1)'::cube ~ '(-1,-1,-1,-1),(1,1,1,1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '0'::cube ~ '(-1),(1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '1'::cube ~ '(-1),(1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '-1'::cube ~ '(-1),(1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(-1),(1)'::cube ~ '(-1),(1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(-1),(1)'::cube ~ '(-1,-1),(1,1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(-2),(1)'::cube ~ '(-1),(1)'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(-2),(1)'::cube ~ '(-1,-1),(1,1)'::cube AS bool; - bool ------- - f -(1 row) - --- "contains" (the left operand is the cube that entirely encloses the --- right operand) --- -SELECT '0'::cube @ '0'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '0,0,0'::cube @ '0,0,0'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '0,0,1'::cube @ '0,0'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '0,0,1'::cube @ '0,0,0'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '0,0,1'::cube @ '1,0,0'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(1,0,0),(0,0,1)'::cube @ '(1,0,0),(0,0,1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(-1,-1,-1),(1,1,1)'::cube @ '(1,0,0),(0,0,1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(-1,-1,-1,-1),(1,1,1,1)'::cube @ '(1,0,0),(0,0,1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(-1),(1)'::cube @ '0'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(-1),(1)'::cube @ '1'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(-1),(1)'::cube @ '-1'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(-1),(1)'::cube @ '(-1),(1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(-1,-1),(1,1)'::cube @ '(-1),(1)'::cube AS bool; - bool ------- - t -(1 row) - -SELECT '(-1),(1)'::cube @ '(-2),(1)'::cube AS bool; - bool ------- - f -(1 row) - -SELECT '(-1,-1),(1,1)'::cube @ '(-2),(1)'::cube AS bool; - bool ------- - f -(1 row) - --- Load some example data and build the index --- -CREATE TABLE test_cube (c cube); -\copy test_cube from 'data/test_cube.data' -CREATE INDEX test_cube_ix ON test_cube USING gist (c); -SELECT * FROM test_cube WHERE c && '(3000,1000),(0,0)'; - c --------------------------- - (2424, 160),(2424, 81) - (759, 187),(662, 163) - (1444, 403),(1346, 344) - (337, 455),(240, 359) - (1594, 1043),(1517, 971) -(5 rows) - --- Test sorting -SELECT * FROM test_cube WHERE c && '(3000,1000),(0,0)' GROUP BY c; - c --------------------------- - (337, 455),(240, 359) - (759, 187),(662, 163) - (1444, 403),(1346, 344) - (1594, 1043),(1517, 971) - (2424, 160),(2424, 81) -(5 rows) - diff --git a/contrib/cube/sql/cube.sql b/contrib/cube/sql/cube.sql deleted file mode 100644 index 0e0de38bc4..0000000000 --- a/contrib/cube/sql/cube.sql +++ /dev/null @@ -1,244 +0,0 @@ --- --- Test cube datatype --- - --- --- first, define the datatype. Turn off echoing so that expected file --- does not depend on contents of cube.sql. --- -\set ECHO none -\i cube.sql -\set ECHO all - --- --- testing the input and output functions --- - --- Any number (a one-dimensional point) -SELECT '1'::cube AS cube; -SELECT '-1'::cube AS cube; -SELECT '1.'::cube AS cube; -SELECT '-1.'::cube AS cube; -SELECT '.1'::cube AS cube; -SELECT '-.1'::cube AS cube; -SELECT '1.0'::cube AS cube; -SELECT '-1.0'::cube AS cube; -SELECT '1e7'::cube AS cube; -SELECT '-1e7'::cube AS cube; -SELECT '1.0e7'::cube AS cube; -SELECT '-1.0e7'::cube AS cube; -SELECT '1e+7'::cube AS cube; -SELECT '-1e+7'::cube AS cube; -SELECT '1.0e+7'::cube AS cube; -SELECT '-1.0e+7'::cube AS cube; -SELECT '1e-7'::cube AS cube; -SELECT '-1e-7'::cube AS cube; -SELECT '1.0e-7'::cube AS cube; -SELECT '-1.0e-7'::cube AS cube; -SELECT '1e-700'::cube AS cube; -SELECT '-1e-700'::cube AS cube; - --- simple lists (points) -SELECT '1,2'::cube AS cube; -SELECT '(1,2)'::cube AS cube; -SELECT '1,2,3,4,5'::cube AS cube; -SELECT '(1,2,3,4,5)'::cube AS cube; - --- double lists (cubes) -SELECT '(0),(0)'::cube AS cube; -SELECT '(0),(1)'::cube AS cube; -SELECT '[(0),(0)]'::cube AS cube; -SELECT '[(0),(1)]'::cube AS cube; -SELECT '(0,0,0,0),(0,0,0,0)'::cube AS cube; -SELECT '(0,0,0,0),(1,0,0,0)'::cube AS cube; -SELECT '[(0,0,0,0),(0,0,0,0)]'::cube AS cube; -SELECT '[(0,0,0,0),(1,0,0,0)]'::cube AS cube; - --- invalid input: parse errors -SELECT ''::cube AS cube; -SELECT 'ABC'::cube AS cube; -SELECT '()'::cube AS cube; -SELECT '[]'::cube AS cube; -SELECT '[()]'::cube AS cube; -SELECT '[(1)]'::cube AS cube; -SELECT '[(1),]'::cube AS cube; -SELECT '[(1),2]'::cube AS cube; -SELECT '[(1),(2),(3)]'::cube AS cube; -SELECT '1,'::cube AS cube; -SELECT '1,2,'::cube AS cube; -SELECT '1,,2'::cube AS cube; -SELECT '(1,)'::cube AS cube; -SELECT '(1,2,)'::cube AS cube; -SELECT '(1,,2)'::cube AS cube; - --- invalid input: semantic errors and trailing garbage -SELECT '[(1),(2)],'::cube AS cube; -- 0 -SELECT '[(1,2,3),(2,3)]'::cube AS cube; -- 1 -SELECT '[(1,2),(1,2,3)]'::cube AS cube; -- 1 -SELECT '(1),(2),'::cube AS cube; -- 2 -SELECT '(1,2,3),(2,3)'::cube AS cube; -- 3 -SELECT '(1,2),(1,2,3)'::cube AS cube; -- 3 -SELECT '(1,2,3)ab'::cube AS cube; -- 4 -SELECT '(1,2,3)a'::cube AS cube; -- 5 -SELECT '(1,2)('::cube AS cube; -- 5 -SELECT '1,2ab'::cube AS cube; -- 6 -SELECT '1 e7'::cube AS cube; -- 6 -SELECT '1,2a'::cube AS cube; -- 7 -SELECT '1..2'::cube AS cube; -- 7 - --- --- testing the operators --- - --- equality/inequality: --- -SELECT '24, 33.20'::cube = '24, 33.20'::cube AS bool; -SELECT '24, 33.20'::cube != '24, 33.20'::cube AS bool; -SELECT '24, 33.20'::cube = '24, 33.21'::cube AS bool; -SELECT '24, 33.20'::cube != '24, 33.21'::cube AS bool; -SELECT '(2,0),(3,1)'::cube = '(2,0,0,0,0),(3,1,0,0,0)'::cube AS bool; -SELECT '(2,0),(3,1)'::cube = '(2,0,0,0,0),(3,1,0,0,1)'::cube AS bool; - --- "lower than" / "greater than" --- (these operators are not useful for anything but ordering) --- -SELECT '1'::cube > '2'::cube AS bool; -SELECT '1'::cube < '2'::cube AS bool; -SELECT '1,1'::cube > '1,2'::cube AS bool; -SELECT '1,1'::cube < '1,2'::cube AS bool; - -SELECT '(2,0),(3,1)'::cube > '(2,0,0,0,0),(3,1,0,0,1)'::cube AS bool; -SELECT '(2,0),(3,1)'::cube < '(2,0,0,0,0),(3,1,0,0,1)'::cube AS bool; -SELECT '(2,0),(3,1)'::cube > '(2,0,0,0,1),(3,1,0,0,0)'::cube AS bool; -SELECT '(2,0),(3,1)'::cube < '(2,0,0,0,1),(3,1,0,0,0)'::cube AS bool; -SELECT '(2,0),(3,1)'::cube > '(2,0,0,0,0),(3,1,0,0,0)'::cube AS bool; -SELECT '(2,0),(3,1)'::cube < '(2,0,0,0,0),(3,1,0,0,0)'::cube AS bool; -SELECT '(2,0,0,0,0),(3,1,0,0,1)'::cube > '(2,0),(3,1)'::cube AS bool; -SELECT '(2,0,0,0,0),(3,1,0,0,1)'::cube < '(2,0),(3,1)'::cube AS bool; -SELECT '(2,0,0,0,1),(3,1,0,0,0)'::cube > '(2,0),(3,1)'::cube AS bool; -SELECT '(2,0,0,0,1),(3,1,0,0,0)'::cube < '(2,0),(3,1)'::cube AS bool; -SELECT '(2,0,0,0,0),(3,1,0,0,0)'::cube > '(2,0),(3,1)'::cube AS bool; -SELECT '(2,0,0,0,0),(3,1,0,0,0)'::cube < '(2,0),(3,1)'::cube AS bool; - - --- "overlap" --- -SELECT '1'::cube && '1'::cube AS bool; -SELECT '1'::cube && '2'::cube AS bool; - -SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '0'::cube AS bool; -SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '1'::cube AS bool; -SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '1,1,1'::cube AS bool; -SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '[(1,1,1),(2,2,2)]'::cube AS bool; -SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '[(1,1),(2,2)]'::cube AS bool; -SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '[(2,1,1),(2,2,2)]'::cube AS bool; - --- "overlap on the left" / "overlap on the right" --- (these operators are not useful at all but R-tree seems to be --- sensitive to their presence) --- -SELECT '1'::cube &< '0'::cube AS bool; -SELECT '1'::cube &< '1'::cube AS bool; -SELECT '1'::cube &< '2'::cube AS bool; - -SELECT '(0),(1)'::cube &< '0'::cube AS bool; -SELECT '(0),(1)'::cube &< '1'::cube AS bool; -SELECT '(0),(1)'::cube &< '(0),(0.5)'::cube AS bool; -SELECT '(0),(1)'::cube &< '(0),(1)'::cube AS bool; -SELECT '(0),(1)'::cube &< '(0),(2)'::cube AS bool; -SELECT '(0),(1)'::cube &< '(1),(2)'::cube AS bool; -SELECT '(0),(1)'::cube &< '(2),(3)'::cube AS bool; - -SELECT '0'::cube &> '1'::cube AS bool; -SELECT '1'::cube &> '1'::cube AS bool; -SELECT '2'::cube &> '1'::cube AS bool; - -SELECT '0'::cube &> '(0),(1)'::cube AS bool; -SELECT '1'::cube &> '(0),(1)'::cube AS bool; -SELECT '(0),(0.5)' &> '(0),(1)'::cube AS bool; -SELECT '(0),(1)'::cube &> '(0),(1)'::cube AS bool; -SELECT '(0),(2)'::cube &> '(0),(1)'::cube AS bool; -SELECT '(1),(2)'::cube &> '(0),(1)'::cube AS bool; -SELECT '(2),(3)'::cube &> '(0),(1)'::cube AS bool; - - --- "left" / "right" --- (these operators are not useful but for 1-D or 2-D cubes, but R-tree --- seems to want them defined) --- -SELECT '1'::cube << '0'::cube AS bool; -SELECT '1'::cube << '1'::cube AS bool; -SELECT '1'::cube << '2'::cube AS bool; - -SELECT '(0),(1)'::cube << '0'::cube AS bool; -SELECT '(0),(1)'::cube << '1'::cube AS bool; -SELECT '(0),(1)'::cube << '(0),(0.5)'::cube AS bool; -SELECT '(0),(1)'::cube << '(0),(1)'::cube AS bool; -SELECT '(0),(1)'::cube << '(0),(2)'::cube AS bool; -SELECT '(0),(1)'::cube << '(1),(2)'::cube AS bool; -SELECT '(0),(1)'::cube << '(2),(3)'::cube AS bool; - -SELECT '0'::cube >> '1'::cube AS bool; -SELECT '1'::cube >> '1'::cube AS bool; -SELECT '2'::cube >> '1'::cube AS bool; - -SELECT '0'::cube >> '(0),(1)'::cube AS bool; -SELECT '1'::cube >> '(0),(1)'::cube AS bool; -SELECT '(0),(0.5)' >> '(0),(1)'::cube AS bool; -SELECT '(0),(1)'::cube >> '(0),(1)'::cube AS bool; -SELECT '(0),(2)'::cube >> '(0),(1)'::cube AS bool; -SELECT '(1),(2)'::cube >> '(0),(1)'::cube AS bool; -SELECT '(2),(3)'::cube >> '(0),(1)'::cube AS bool; - - --- "contained in" (the left operand is the cube entirely enclosed by --- the right operand): --- -SELECT '0'::cube ~ '0'::cube AS bool; -SELECT '0,0,0'::cube ~ '0,0,0'::cube AS bool; -SELECT '0,0'::cube ~ '0,0,1'::cube AS bool; -SELECT '0,0,0'::cube ~ '0,0,1'::cube AS bool; -SELECT '1,0,0'::cube ~ '0,0,1'::cube AS bool; -SELECT '(1,0,0),(0,0,1)'::cube ~ '(1,0,0),(0,0,1)'::cube AS bool; -SELECT '(1,0,0),(0,0,1)'::cube ~ '(-1,-1,-1),(1,1,1)'::cube AS bool; -SELECT '(1,0,0),(0,0,1)'::cube ~ '(-1,-1,-1,-1),(1,1,1,1)'::cube AS bool; -SELECT '0'::cube ~ '(-1),(1)'::cube AS bool; -SELECT '1'::cube ~ '(-1),(1)'::cube AS bool; -SELECT '-1'::cube ~ '(-1),(1)'::cube AS bool; -SELECT '(-1),(1)'::cube ~ '(-1),(1)'::cube AS bool; -SELECT '(-1),(1)'::cube ~ '(-1,-1),(1,1)'::cube AS bool; -SELECT '(-2),(1)'::cube ~ '(-1),(1)'::cube AS bool; -SELECT '(-2),(1)'::cube ~ '(-1,-1),(1,1)'::cube AS bool; - - --- "contains" (the left operand is the cube that entirely encloses the --- right operand) --- -SELECT '0'::cube @ '0'::cube AS bool; -SELECT '0,0,0'::cube @ '0,0,0'::cube AS bool; -SELECT '0,0,1'::cube @ '0,0'::cube AS bool; -SELECT '0,0,1'::cube @ '0,0,0'::cube AS bool; -SELECT '0,0,1'::cube @ '1,0,0'::cube AS bool; -SELECT '(1,0,0),(0,0,1)'::cube @ '(1,0,0),(0,0,1)'::cube AS bool; -SELECT '(-1,-1,-1),(1,1,1)'::cube @ '(1,0,0),(0,0,1)'::cube AS bool; -SELECT '(-1,-1,-1,-1),(1,1,1,1)'::cube @ '(1,0,0),(0,0,1)'::cube AS bool; -SELECT '(-1),(1)'::cube @ '0'::cube AS bool; -SELECT '(-1),(1)'::cube @ '1'::cube AS bool; -SELECT '(-1),(1)'::cube @ '-1'::cube AS bool; -SELECT '(-1),(1)'::cube @ '(-1),(1)'::cube AS bool; -SELECT '(-1,-1),(1,1)'::cube @ '(-1),(1)'::cube AS bool; -SELECT '(-1),(1)'::cube @ '(-2),(1)'::cube AS bool; -SELECT '(-1,-1),(1,1)'::cube @ '(-2),(1)'::cube AS bool; - - --- Load some example data and build the index --- -CREATE TABLE test_cube (c cube); - -\copy test_cube from 'data/test_cube.data' - -CREATE INDEX test_cube_ix ON test_cube USING gist (c); -SELECT * FROM test_cube WHERE c && '(3000,1000),(0,0)'; - --- Test sorting -SELECT * FROM test_cube WHERE c && '(3000,1000),(0,0)' GROUP BY c; diff --git a/contrib/dbase/Makefile b/contrib/dbase/Makefile deleted file mode 100644 index 5089298c3f..0000000000 --- a/contrib/dbase/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# $Header: /cvsroot/pgsql/contrib/dbase/Attic/Makefile,v 1.4 2001/12/21 05:29:46 momjian Exp $ - -subdir = contrib/dbase -top_builddir = ../.. -include $(top_builddir)/src/Makefile.global - -PROGRAM = dbf2pg -OBJS = dbf.o dbf2pg.o endian.o -PG_CPPFLAGS = -I$(libpq_srcdir) -PG_LIBS = $(libpq) - -# Uncomment this to provide charset translation -#PG_CPPFLAGS += -DHAVE_ICONV_H -# You might need to uncomment this too, if libiconv is a separate -# library on your platform -#PG_LIBS += -liconv - -DOCS = README.dbf2pg -MAN = dbf2pg.1 # XXX not implemented - -include $(top_srcdir)/contrib/contrib-global.mk diff --git a/contrib/dbase/README.dbf2pg b/contrib/dbase/README.dbf2pg deleted file mode 100644 index 7203be4029..0000000000 --- a/contrib/dbase/README.dbf2pg +++ /dev/null @@ -1,135 +0,0 @@ - - - -dbf2sql(1L) dbf2sql(1L) - - -NAME - dbf2sql - Insert xBase-style .dbf-files into a Post- - greSQL-table - -SYNOPSIS - "dbf2pg [options] dbf-file" - Options: - [-v[v]] [-f] [-u | -l] [-c | -D] [-d database] [-t table] - [-h host] [-s oldname=newname[,oldname=newname]] [-s - start] [-e end] [-W] [-U username] [-B transaction_size] - [-F charset_from [-T charset_to]] - - -DESCRIPTION - This manual page documents the program dbf2pg. It takes - an xBase-style .dbf-file, and inserts it into the speci- - fied database and table. - - OPTIONS - -v Display some status-messages. - - -vv Also display progress. - - -f Convert all field-names from the .dbf-file to low- - ercase. - - -u Convert the contents of all fields to uppercase. - - -l Convert the contents of all fields to lowercase. - - -c Create the table specified with -t. If this table - already exists, first DROP it. - - -D Delete the contents of the table specified with -t. - Note that this table has to exists. An error is - returned if this is not the case. - - -W Ask for password. - - -d database - Specify the database to use. An error is returned - if this database does not exists. Default is - "test". - - -t table - Specify the table to insert in. An error is - returned if this table does not exists. Default is - "test". - - -h host - Specify the host to which to connect. Default is - "localhost". - - - - - - 1 - - - - - -dbf2sql(1L) dbf2sql(1L) - - - -s oldname=newname[,oldname=newname] - Change the name of a field from oldname to newname. - This is mainly used to avoid using reserved SQL- - keywords. Example: - -s SELECT=SEL,COMMIT=doit - This is done before the -f operator has taken - effect! - - -s start - Specify the first record-number in the xBase-file - we will insert. - - -e end Specify the last record-number in the xBase-file we - will insert. - - -B transaction_size - Specify the number of records per transaction, - default is all records. - - -U username - Log as the specified user in the database. - - -F charset_from - If specified, it converts the data from the speci- - fied charset. Example: - -F IBM437 - Consult your system documentation to see the con- - versions available. This requires iconv to be enabled - in the compile. - - -T charset_to - Together with -F charset_from , it converts the - data to the specified charset. Default is - "ISO-8859-1". This requires iconv to be enabled - in the compile. - -ENVIRONMENT - This program is affected by the environment-variables as - used by "PostgresSQL." See the documentation of Post- - gresSQL for more info. This program can optionally use iconv - character set conversion routines. - -BUGS - Fields larger than 8192 characters are not supported and - could break the program. - Some charset convertions could cause the output to be - larger than the input and could break the program. - - - - - - - - - - - - - - 2 - - diff --git a/contrib/dbase/dbf.c b/contrib/dbase/dbf.c deleted file mode 100644 index 053e9adffb..0000000000 --- a/contrib/dbase/dbf.c +++ /dev/null @@ -1,520 +0,0 @@ -/* Routines to read and write xBase-files (.dbf) - - By Maarten Boekhold, 29th of oktober 1995 - - Modified by Frank Koormann (fkoorman@usf.uni-osnabrueck.de), Jun 10 1996 - prepare dataarea with memset - get systemtime and set filedate - set formatstring for real numbers -*/ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "dbf.h" - -/* open a dbf-file, get it's field-info and store this information */ - -dbhead * -dbf_open(u_char *file, int flags) -{ - int file_no; - dbhead *dbh; - f_descr *fields; - dbf_header *head; - dbf_field *fieldc; - int t; - - if ((dbh = (dbhead *) malloc(sizeof(dbhead))) == NULL) - return (dbhead *) DBF_ERROR; - - if ((head = (dbf_header *) malloc(sizeof(dbf_header))) == NULL) - { - free(dbh); - return (dbhead *) DBF_ERROR; - } - - if ((fieldc = (dbf_field *) malloc(sizeof(dbf_field))) == NULL) - { - free(head); - free(dbh); - return (dbhead *) DBF_ERROR; - } - - if ((file_no = open(file, flags)) == -1) - { - free(fieldc); - free(head); - free(dbh); - return (dbhead *) DBF_ERROR; - } - -/* read in the disk-header */ - - if (read(file_no, head, sizeof(dbf_header)) == -1) - { - close(file_no); - free(fieldc); - free(head); - free(dbh); - return (dbhead *) DBF_ERROR; - } - - if (!(head->dbh_dbt & DBH_NORMAL)) - { - close(file_no); - free(fieldc); - free(head); - free(dbh); - return (dbhead *) DBF_ERROR; - } - - dbh->db_fd = file_no; - if (head->dbh_dbt & DBH_MEMO) - dbh->db_memo = 1; - else - dbh->db_memo = 0; - dbh->db_year = head->dbh_year; - dbh->db_month = head->dbh_month; - dbh->db_day = head->dbh_day; - dbh->db_hlen = get_short((u_char *) &head->dbh_hlen); - dbh->db_records = get_long((u_char *) &head->dbh_records); - dbh->db_currec = 0; - dbh->db_rlen = get_short((u_char *) &head->dbh_rlen); - dbh->db_nfields = (dbh->db_hlen - sizeof(dbf_header)) / sizeof(dbf_field); - - /* - * dbh->db_hlen - sizeof(dbf_header) isn't the correct size, cos - * dbh->hlen is in fact a little more cos of the 0x0D (and possibly - * another byte, 0x4E, I have seen this somewhere). Because of - * rounding everything turns out right :) - */ - - if ((fields = (f_descr *) calloc(dbh->db_nfields, sizeof(f_descr))) - == NULL) - { - close(file_no); - free(fieldc); - free(head); - free(dbh); - return (dbhead *) DBF_ERROR; - } - - for (t = 0; t < dbh->db_nfields; t++) - { -/* Maybe I have calculated the number of fields incorrectly. This can happen - when programs reserve lots of space at the end of the header for future - expansion. This will catch this situation */ - if (fields[t].db_name[0] == 0x0D) - { - dbh->db_nfields = t; - break; - } - read(file_no, fieldc, sizeof(dbf_field)); - strncpy(fields[t].db_name, fieldc->dbf_name, DBF_NAMELEN); - fields[t].db_type = fieldc->dbf_type; - fields[t].db_flen = fieldc->dbf_flen; - fields[t].db_dec = fieldc->dbf_dec; - } - - dbh->db_offset = dbh->db_hlen; - dbh->db_fields = fields; - - if ((dbh->db_buff = (u_char *) malloc(dbh->db_rlen)) == NULL) - return (dbhead *) DBF_ERROR; - - free(fieldc); - free(head); - - return dbh; -} - -int -dbf_write_head(dbhead * dbh) -{ - dbf_header head; - time_t now; - struct tm *dbf_time; - - if (lseek(dbh->db_fd, 0, SEEK_SET) == -1) - return DBF_ERROR; - -/* fill up the diskheader */ - -/* Set dataarea of head to '\0' */ - memset(&head, '\0', sizeof(dbf_header)); - - head.dbh_dbt = DBH_NORMAL; - if (dbh->db_memo) - head.dbh_dbt = DBH_MEMO; - - now = time((time_t *) NULL); - dbf_time = localtime(&now); - head.dbh_year = dbf_time->tm_year; - head.dbh_month = dbf_time->tm_mon + 1; /* Months since January + - * 1 */ - head.dbh_day = dbf_time->tm_mday; - - put_long(head.dbh_records, dbh->db_records); - put_short(head.dbh_hlen, dbh->db_hlen); - put_short(head.dbh_rlen, dbh->db_rlen); - - if (write(dbh->db_fd, &head, sizeof(dbf_header)) != sizeof(dbf_header)) - return DBF_ERROR; - - return 0; -} - -int -dbf_put_fields(dbhead * dbh) -{ - dbf_field field; - u_long t; - u_char end = 0x0D; - - if (lseek(dbh->db_fd, sizeof(dbf_header), SEEK_SET) == -1) - return DBF_ERROR; - -/* Set dataarea of field to '\0' */ - memset(&field, '\0', sizeof(dbf_field)); - - for (t = 0; t < dbh->db_nfields; t++) - { - strncpy(field.dbf_name, dbh->db_fields[t].db_name, DBF_NAMELEN - 1); - field.dbf_type = dbh->db_fields[t].db_type; - field.dbf_flen = dbh->db_fields[t].db_flen; - field.dbf_dec = dbh->db_fields[t].db_dec; - - if (write(dbh->db_fd, &field, sizeof(dbf_field)) != sizeof(dbf_field)) - return DBF_ERROR; - } - - if (write(dbh->db_fd, &end, 1) != 1) - return DBF_ERROR; - - return 0; -} - -int -dbf_add_field(dbhead * dbh, u_char *name, u_char type, - u_char length, u_char dec) -{ - f_descr *ptr; - u_char *foo; - u_long size, - field_no; - - size = (dbh->db_nfields + 1) * sizeof(f_descr); - if (!(ptr = (f_descr *) realloc(dbh->db_fields, size))) - return DBF_ERROR; - dbh->db_fields = ptr; - - field_no = dbh->db_nfields; - strncpy(dbh->db_fields[field_no].db_name, name, DBF_NAMELEN); - dbh->db_fields[field_no].db_type = type; - dbh->db_fields[field_no].db_flen = length; - dbh->db_fields[field_no].db_dec = dec; - - dbh->db_nfields++; - dbh->db_hlen += sizeof(dbf_field); - dbh->db_rlen += length; - - if (!(foo = (u_char *) realloc(dbh->db_buff, dbh->db_rlen))) - return DBF_ERROR; - - dbh->db_buff = foo; - - return 0; -} - -dbhead * -dbf_open_new(u_char *name, int flags) -{ - dbhead *dbh; - - if (!(dbh = (dbhead *) malloc(sizeof(dbhead)))) - return (dbhead *) DBF_ERROR; - - if (flags & O_CREAT) - { - if ((dbh->db_fd = open(name, flags, DBF_FILE_MODE)) == -1) - { - free(dbh); - return (dbhead *) DBF_ERROR; - } - } - else - { - if ((dbh->db_fd = open(name, flags)) == -1) - { - free(dbh); - return (dbhead *) DBF_ERROR; - } - } - - - dbh->db_offset = 0; - dbh->db_memo = 0; - dbh->db_year = 0; - dbh->db_month = 0; - dbh->db_day = 0; - dbh->db_hlen = sizeof(dbf_header) + 1; - dbh->db_records = 0; - dbh->db_currec = 0; - dbh->db_rlen = 1; - dbh->db_nfields = 0; - dbh->db_buff = NULL; - dbh->db_fields = (f_descr *) NULL; - - return dbh; -} - -void -dbf_close(dbhead * dbh) -{ - int t; - - close(dbh->db_fd); - - for (t = 0; t < dbh->db_nfields; t++) - free(&dbh->db_fields[t]); - - if (dbh->db_buff != NULL) - free(dbh->db_buff); - - free(dbh); -} - -int -dbf_get_record(dbhead * dbh, field * fields, u_long rec) -{ - u_char *data; - int t, - i, - offset; - u_char *dbffield, - *end; - -/* calculate at which offset we have to read. *DON'T* forget the - 0x0D which seperates field-descriptions from records! - - Note (april 5 1996): This turns out to be included in db_hlen -*/ - offset = dbh->db_hlen + (rec * dbh->db_rlen); - - if (lseek(dbh->db_fd, offset, SEEK_SET) == -1) - { - lseek(dbh->db_fd, 0, SEEK_SET); - dbh->db_offset = 0; - return DBF_ERROR; - } - - dbh->db_offset = offset; - dbh->db_currec = rec; - data = dbh->db_buff; - - read(dbh->db_fd, data, dbh->db_rlen); - - if (data[0] == DBF_DELETED) - return DBF_DELETED; - - dbffield = &data[1]; - for (t = 0; t < dbh->db_nfields; t++) - { - strncpy(fields[t].db_name, dbh->db_fields[t].db_name, DBF_NAMELEN); - fields[t].db_type = dbh->db_fields[t].db_type; - fields[t].db_flen = dbh->db_fields[t].db_flen; - fields[t].db_dec = dbh->db_fields[t].db_dec; - - if (fields[t].db_type == 'C') - { - end = &dbffield[fields[t].db_flen - 1]; - i = fields[t].db_flen; - while ((i > 0) && ((*end < 0x21) || (*end > 0x7E))) - { - end--; - i--; - } - strncpy(fields[t].db_contents, dbffield, i); - fields[t].db_contents[i] = '\0'; - } - else - { - end = dbffield; - i = fields[t].db_flen; - while ((i > 0) && ((*end < 0x21) || (*end > 0x7E))) - { - end++; - i--; - } - strncpy(fields[t].db_contents, end, i); - fields[t].db_contents[i] = '\0'; - } - - dbffield += fields[t].db_flen; - } - - dbh->db_offset += dbh->db_rlen; - - return DBF_VALID; -} - -field * -dbf_build_record(dbhead * dbh) -{ - int t; - field *fields; - - if (!(fields = (field *) calloc(dbh->db_nfields, sizeof(field)))) - return (field *) DBF_ERROR; - - for (t = 0; t < dbh->db_nfields; t++) - { - if (!(fields[t].db_contents = - (u_char *) malloc(dbh->db_fields[t].db_flen + 1))) - { - for (t = 0; t < dbh->db_nfields; t++) - { - if (fields[t].db_contents != 0) - { - free(fields[t].db_contents); - free(fields); - } - return (field *) DBF_ERROR; - } - } - strncpy(fields[t].db_name, dbh->db_fields[t].db_name, DBF_NAMELEN); - fields[t].db_type = dbh->db_fields[t].db_type; - fields[t].db_flen = dbh->db_fields[t].db_flen; - fields[t].db_dec = dbh->db_fields[t].db_dec; - } - - return fields; -} - -void -dbf_free_record(dbhead * dbh, field * rec) -{ - int t; - - for (t = 0; t < dbh->db_nfields; t++) - free(rec[t].db_contents); - - free(rec); -} - -int -dbf_put_record(dbhead * dbh, field * rec, u_long where) -{ - u_long offset, - new, - idx, - t, - h, - length; - u_char *data, - end = 0x1a; - double fl; - u_char foo[128], - format[32]; - -/* offset: offset in file for this record - new: real offset after lseek - idx: index to which place we are inside the 'hardcore'-data for this - record - t: field-counter - data: the hardcore-data that is put on disk - h: index into the field-part in the hardcore-data - length: length of the data to copy - fl: a float used to get the right precision with real numbers - foo: copy of db_contents when field is not 'C' - format: sprintf format-string to get the right precision with real numbers - - NOTE: this declaration of 'foo' can cause overflow when the contents-field - is longer the 127 chars (which is highly unlikely, cos it is not used - in text-fields). -*/ -/* REMEMBER THAT THERE'S A 0x1A AT THE END OF THE FILE, SO DON'T - DO A SEEK_END WITH 0!!!!!! USE -1 !!!!!!!!!! -*/ - - if (where > dbh->db_records) - { - if ((new = lseek(dbh->db_fd, -1, SEEK_END)) == -1) - return DBF_ERROR; - dbh->db_records++; - } - else - { - offset = dbh->db_hlen + (where * dbh->db_rlen); - if ((new = lseek(dbh->db_fd, offset, SEEK_SET)) == -1) - return DBF_ERROR; - } - - dbh->db_offset = new; - - data = dbh->db_buff; - -/* Set dataarea of data to ' ' (space) */ - memset(data, ' ', dbh->db_rlen); - -/* data[0] = DBF_VALID; */ - - idx = 1; - for (t = 0; t < dbh->db_nfields; t++) - { -/* if field is empty, don't do a thing */ - if (rec[t].db_contents[0] != '\0') - { -/* Handle text */ - if (rec[t].db_type == 'C') - { - if (strlen(rec[t].db_contents) > rec[t].db_flen) - length = rec[t].db_flen; - else - length = strlen(rec[t].db_contents); - strncpy(data + idx, rec[t].db_contents, length); - } - else - { -/* Handle the rest */ -/* Numeric is special, because of real numbers */ - if ((rec[t].db_type == 'N') && (rec[t].db_dec != 0)) - { - fl = atof(rec[t].db_contents); - sprintf(format, "%%.%df", rec[t].db_dec); - sprintf(foo, format, fl); - } - else - strcpy(foo, rec[t].db_contents); - if (strlen(foo) > rec[t].db_flen) - length = rec[t].db_flen; - else - length = strlen(foo); - h = rec[t].db_flen - length; - strncpy(data + idx + h, foo, length); - } - } - idx += rec[t].db_flen; - } - - if (write(dbh->db_fd, data, dbh->db_rlen) != dbh->db_rlen) - return DBF_ERROR; - -/* There's a 0x1A at the end of a dbf-file */ - if (where == dbh->db_records) - { - if (write(dbh->db_fd, &end, 1) != 1) - return DBF_ERROR; - } - - dbh->db_offset += dbh->db_rlen; - - return 0; -} diff --git a/contrib/dbase/dbf.h b/contrib/dbase/dbf.h deleted file mode 100644 index 254e8d19e9..0000000000 --- a/contrib/dbase/dbf.h +++ /dev/null @@ -1,139 +0,0 @@ -/* header-file for dbf.c - declares routines for reading and writing xBase-files (.dbf), and - associated structures - - Maarten Boekhold (maarten.boekhold@reuters.com) 29 oktober 1995 -*/ - -#ifndef _DBF_H -#define _DBF_H - -#include - -/********************************************************************** - - The DBF-part - -***********************************************************************/ - -#define DBF_FILE_MODE 0644 - -/* byte offsets for date in dbh_date */ - -#define DBH_DATE_YEAR 0 -#define DBH_DATE_MONTH 1 -#define DBH_DATE_DAY 2 - -/* maximum fieldname-length */ - -#define DBF_NAMELEN 11 - -/* magic-cookies for the file */ - -#define DBH_NORMAL 0x03 -#define DBH_MEMO 0x83 - -/* magic-cookies for the fields */ - -#define DBF_ERROR -1 -#define DBF_VALID 0x20 -#define DBF_DELETED 0x2A - -/* diskheader */ - -typedef struct -{ - u_char dbh_dbt; /* indentification field */ - u_char dbh_year; /* last modification-date */ - u_char dbh_month; - u_char dbh_day; - u_char dbh_records[4]; /* number of records */ - u_char dbh_hlen[2]; /* length of this header */ - u_char dbh_rlen[2]; /* length of a record */ - u_char dbh_stub[20]; /* misc stuff we don't need */ -} dbf_header; - -/* disk field-description */ - -typedef struct -{ - u_char dbf_name[DBF_NAMELEN]; /* field-name terminated with \0 */ - u_char dbf_type; /* field-type */ - u_char dbf_reserved[4]; /* some reserved stuff */ - u_char dbf_flen; /* field-length */ - u_char dbf_dec; /* number of decimal positions if type is - * 'N' */ - u_char dbf_stub[14]; /* stuff we don't need */ -} dbf_field; - -/* memory field-description */ - -typedef struct -{ - u_char db_name[DBF_NAMELEN]; /* field-name terminated with \0 */ - u_char db_type; /* field-type */ - u_char db_flen; /* field-length */ - u_char db_dec; /* number of decimal positions */ -} f_descr; - -/* memory dfb-header */ - -typedef struct -{ - int db_fd; /* file-descriptor */ - u_long db_offset; /* current offset in file */ - u_char db_memo; /* memo-file present */ - u_char db_year; /* last update as YYMMDD */ - u_char db_month; - u_char db_day; - u_long db_hlen; /* length of the diskheader, for - * calculating the offsets */ - u_long db_records; /* number of records */ - u_long db_currec; /* current record-number starting at 0 */ - u_short db_rlen; /* length of the record */ - u_char db_nfields; /* number of fields */ - u_char *db_buff; /* record-buffer to save malloc()'s */ - f_descr *db_fields; /* pointer to an array of field- - * descriptions */ -} dbhead; - -/* structure that contains everything a user wants from a field, including - the contents (in ASCII). Warning! db_flen may be bigger than the actual - length of db_name! This is because a field doesn't have to be completely - filled */ - -typedef struct -{ - u_char db_name[DBF_NAMELEN]; /* field-name terminated with \0 */ - u_char db_type; /* field-type */ - u_char db_flen; /* field-length */ - u_char db_dec; /* number of decimal positions */ - u_char *db_contents; /* contents of the field in ASCII */ -} field; - -/* prototypes for functions */ - -extern dbhead *dbf_open(u_char *file, int flags); -extern int dbf_write_head(dbhead * dbh); -extern int dbf_put_fields(dbhead * dbh); -extern int dbf_add_field(dbhead * dbh, u_char *name, u_char type, - u_char length, u_char dec); -extern dbhead *dbf_open_new(u_char *name, int flags); -extern void dbf_close(dbhead * dbh); -extern int dbf_get_record(dbhead * dbh, field * fields, u_long rec); -extern field *dbf_build_record(dbhead * dbh); -extern void dbf_free_record(dbhead * dbh, field * fields); -extern int dbf_put_record(dbhead * dbh, field * rec, u_long where); - -/********************************************************************* - - The endian-part - -********************************************************************