Merge lp:~mordred/libmemcached/pandora-build into lp:~tangent-org/libmemcached/trunk

Proposed by Monty Taylor
Status: Superseded
Proposed branch: lp:~mordred/libmemcached/pandora-build
Merge into: lp:~tangent-org/libmemcached/trunk
Diff against target: None lines
To merge this branch: bzr merge lp:~mordred/libmemcached/pandora-build
Reviewer Review Type Date Requested Status
Libmemcached-developers Pending
Review via email: mp+9949@code.launchpad.net

This proposal has been superseded by a proposal from 2009-09-16.

To post a comment you must log in.
Revision history for this message
Monty Taylor (mordred) wrote :

Updated with latest pandora-build code.

570. By Brian Aker <brian@gaz>

Merge

571. By Brian Aker <brian@gaz>

Merge Trond.

572. By Brian Aker <brian@gaz>

Merging Trond.

573. By Brian Aker <brian@gaz>

Fix for linger behavior

574. By Brian Aker <brian@gaz>

Updating for version .32

575. By Brian Aker <brian@gaz>

Updating library version number

576. By Brian Aker <brian@gaz>

Update pandora

577. By Brian Aker <brian@gaz>

Merge Trond

578. By Brian Aker <brian@gaz>

Merge pod for docs.

579. By Brian Aker <brian@gaz>

Updates on C++ interface

580. By Brian Aker <brian@gaz>

Merge Trond

581. By Brian Aker <brian@gaz>

Merge Patrick

582. By Brian Aker <brian@gaz>

Merge fix for binary mget

583. By Brian Aker <brian@gaz>

Merge Trond

584. By Brian Aker <brian@gaz>

Updating for version .33

585. By Brian Aker <brian@gaz>

Merge Trond

586. By Brian Aker <brian@gaz>

Bug fix for Toru's bug.

587. By Brian Aker <brian@gaz>

Fix length mismatch

588. By Brian Aker <brian@gaz>

Pulled fix from Trond

589. By Brian Aker <brian@gaz>

Merge Trond's protocol work.

590. By Brian Aker <brian@gaz>

Merge Monty.

591. By Brian Aker <brian@gaz>

Merge Trond.

592. By Brian Aker <brian@gaz>

Merge in bug fix for for MTaylor

593. By Brian Aker <brian@gaz>

Merge of additional C++ pieces from Padraig

594. By Brian Aker <email address hidden>

Eric's fix for UDP delete

595. By Brian Aker <email address hidden>

Merge of Trond's work.

596. By Brian Aker <brian@gaz>

Merge in Adam's bug case.

597. By Brian Aker <brian@gaz>

Fix return type.

598. By Brian Aker <brian@gaz>

Merge bug fix

599. By Brian Aker <brian@gaz>

Merge Jean-Charles

600. By Brian Aker <brian@gaz>

Merge from Jean-Charles

601. By Brian Aker <brian@gaz>

Merge from Trond

602. By Brian Aker <brian@gaz>

Updating AUTHORS file.

603. By Brian Aker <brian@gaz>

Merging bug fix for wrong retry counter.

604. By Brian Aker <brian@gaz>

Updated for release

605. By Brian Aker <brian@gaz>

Updated spec file.

606. By Brian Aker <brian@gaz>

Updating for date.

607. By Brian Aker <brian@gaz>

Merging Trond

608. By Brian Aker <brian@gaz>

Fix typo

609. By Brian Aker <brian@gaz>

Update from Padraig, one additional valgrind warning I found cleaned up

610. By Brian Aker <brian@gaz>

Merge Trond

611. By Brian Aker <brian@gaz>

Trond's fix for Mark's build issue

612. By Brian Aker <brian@gaz>

NULL commit

613. By Brian Aker <brian@gaz>

Compatible Spymemcached support in ketama

614. By Brian Aker <brian@gaz>

Merge bug fix by Trond.

615. By Brian Aker <brian@gaz>

Update for support of mget in memslap.

616. By Brian Aker <brian@gaz>

Merging support for by_key operations.

617. By Brian Aker <brian@gaz>

Updating for 0.35 release.

618. By Brian Aker <brian@gaz>

Fix make dist issue

619. By Brian Aker <brian@gaz>

Remove historical bootstrap script

620. By Brian Aker <brian@gaz>

Updated tests to use new macro (less assert()).

621. By Brian Aker <brian@gaz>

Adding behaviors interface to C++ interface

622. By Brian Aker <brian@gaz>

Merge from Mikki

623. By Brian Aker <brian@gaz>

Adding memslap tool.

624. By Brian Aker <brian@gaz>

Updates from Trond.

625. By Brian Aker <brian@gaz>

Merging in platform fixes for libmemcached.

626. By Brian Aker <brian@gaz>

MErge Trond

627. By Brian Aker <email address hidden>

Merge of Jake's work.

628. By Brian Aker <email address hidden>

Code change to use struct bitsets.

629. By Brian Aker <email address hidden>

Additional flag removal.

630. By Brian Aker <email address hidden>

Style cleanup

631. By Brian Aker <email address hidden>

Updated copyright headers.

632. By Brian Aker <email address hidden>

Update for test system.

633. By Brian Aker <email address hidden>

First merge of Trond's patches (cherry picking).

634. By Brian Aker <email address hidden>

Mass rename to simplify names.

Do you know how many times I get annoyed on a daily basis that I can't use
tabs on the command line? Yeah... should have done this a while ago.

635. By Brian Aker <email address hidden>

Updating files for hudson, sorted bzignore for Trond.

636. By Brian Aker <email address hidden>

More const correctness.

637. By Brian Aker <email address hidden>

Updating interface.

638. By Brian Aker <email address hidden>

Fix for solaris.

639. By Brian Aker <email address hidden>

ICC fixes

640. By Brian Aker <email address hidden>

Fix for replication test.

641. By Brian Aker <email address hidden>

ICC fixes.

642. By Brian Aker <email address hidden>

Adding in a consistent test for crc.

643. By Brian Aker <email address hidden>

Update for hosts.c for sort.

644. By Brian Aker <email address hidden>

Adding back libhashkit.

645. By Brian Aker <email address hidden>

Merge Trond.

646. By Brian Aker <brian@gaz>

Small build fix.

647. By Brian Aker <brian@gaz>

Added .h for dump.

648. By Brian Aker <brian@gaz>

ICC cleanups

649. By Brian Aker <brian@gaz>

Merge Monty.

650. By Brian Aker <brian@gaz>

Merge Trond

651. By Brian Aker <brian@gaz>

ICC and test fix.

652. By Brian Aker <email address hidden>

Merge code fix for replication non-block test failing instead of skipping on
old versions.

653. By Brian Aker <brian@gaz>

Test cleanup.

654. By Brian Aker <brian@gaz>

Added file for unknowns.

655. By Brian Aker <brian@gaz>

Merge Monty

656. By Brian Aker <brian@gaz>

Clean up docs.

657. By Brian Aker <brian@gaz>

Update test.c

658. By Brian Aker <brian@gaz>

fix whitespace.

659. By Brian Aker <brian@gaz>

Test updates.

660. By Brian Aker <brian@gaz>

Mvoe pool to fit style.

661. By Brian Aker <brian@gaz>

Merge podchecker.

662. By Brian Aker <brian@gaz>

Merge Trond

663. By Brian Aker <brian@gaz>

ICC fix

664. By Brian Aker <brian@gaz>

ICC fixes.

665. By Brian Aker <brian@gaz>

ICC fixes.

666. By Brian Aker <brian@gaz>

Updated memcached.h so that it contains only its structure.

667. By Brian Aker <brian@gaz>

Fix for test.h

668. By Brian Aker <brian@gaz>

White space fix.

669. By Brian Aker <brian@gaz>

Merge from Monty

670. By Brian Aker <brian@gaz>

White space fix

671. By Brian Aker <brian@gaz>

Moved init for socket to options.

672. By Brian Aker <brian@gaz>

Simple dead code removal and fix for analysis structure always being free()

673. By Brian Aker <brian@gaz>

Updated stats object to use a root like other structures.

674. By Brian Aker <brian@gaz>

Merge Monty

675. By Brian Aker <brian@gaz>

Updating man page.

676. By Brian Aker <brian@gaz>

Update on memslap docs.

677. By Brian Aker <brian@gaz>

Bad library header.

678. By Brian Aker <brian@gaz>

Not allowed as local.

679. By Brian Aker <brian@gaz>

Updating Changelog

680. By Brian Aker <brian@gaz>

Fixed the support for html creation from pod files.

681. By Brian Aker <brian@gaz>

Corrent pod -> html and update ignore file.

682. By Brian Aker <brian@gaz>

Temp save for Monty.

683. By Monty Taylor

Make works...

684. By Brian Aker <brian@gaz>

Yet more fixes to the manpages.

685. By Brian Aker <brian@gaz>

Fix Trond's email address.

686. By Brian Aker <brian@gaz>

Doing final commit before release. RPM updated, version incremented.

687. By Brian Aker <brian@gaz>

Fix titals.

688. By Brian Aker <brian@gaz>

Updating build for libhashkit.

689. By Brian Aker <brian@gaz>

Use RPM to test install path

690. By Brian Aker <brian@gaz>

Updates, rpm now tests the install locations.

691. By Brian Aker <brian@gaz>

Fix for regression during install.

692. By Brian Aker <brian@gaz>

Updated docs for server_cursor() API.

693. By Brian Aker <brian@gaz>

Version update information.

694. By Brian Aker <brian@gaz>

Match count (and sorted .bzignore)

695. By Brian Aker <brian@gaz>

number_of_hosts <-- encapsulated.

696. By Brian Aker <brian@gaz>

Removed cursor_server from memcached_st.

697. By Brian Aker <brian@gaz>

Updated comments in code.

698. By Brian Aker <brian@gaz>

Style cleanup.

699. By Brian Aker <brian@gaz>

Name correction for test system.

700. By Brian Aker <brian@gaz>

New stats output for collection information.

701. By Brian Aker <brian@gaz>

Absorb test bits into anonymous structure.

702. By Brian Aker <brian@gaz>

Fix structure of test.c where we call code before/after a collection runs.

703. By Brian Aker <brian@gaz>

Updated test framework.

704. By Brian Aker <brian@gaz>

Updated .spec file for release.

705. By Brian Aker <brian@gaz>

.pop now ignored.

706. By Brian Aker <brian@gaz>

Updates for version 0.37.

707. By Brian Aker <brian@gaz>

Spec fix.

708. By Brian Aker <brian@gaz>

Abstract out ptr->hosts[server_key] references.

709. By Brian Aker <brian@gaz>

Partial encapsulation of memcached_st->hosts

710. By Brian Aker <brian@gaz>

Fix test cases for encapsulation.

711. By Brian Aker <brian@gaz>

Final bits of abstraction.

712. By Brian Aker <brian@gaz>

Merge Stewart

713. By Brian Aker <brian@gaz>

Addition for memcached_light to have a pid file.

714. By Brian Aker <brian@gaz>

Merge Jean-Charles

715. By Brian Aker <brian@gaz>

Fix for bug #15450

716. By Brian Aker <brian@gaz>

Updates from Monty for Pandora

717. By Brian Aker <brian@gaz>

Adding math include for libhashkit.

718. By Brian Aker <brian@gaz>

32/64 bit cleanup issue in tests.

719. By Brian Aker <brian@gaz>

Small cleanup for for() to array.

720. By Brian Aker <brian@gaz>

Modify where memslap keeps its default config file.

721. By Brian Aker <brian@gaz>

Added back in the ability to use a getenv string for servers.

722. By Brian Aker <brian@gaz>

Merge Monty

723. By Brian Aker <brian@gaz>

Remove custom parser/use API for parsing in memslap

724. By Brian Aker <brian@gaz>

Sign fix for variable (this should solve the solaris warning).

725. By Brian Aker <brian@gaz>

Fix from --with-debug

726. By Brian Aker <brian@gaz>

Fix for hudson valgrind build

727. By Brian Aker <brian@gaz>

Fix llu to zu

728. By Brian Aker <brian@gaz>

Small icc repairs.

729. By Brian Aker <brian@gaz>

Fix atomsmasher test

730. By Brian Aker <brian@gaz>

Remove dead udp test.

731. By Brian Aker <brian@gaz>

Update tests for testplus.

732. By Brian Aker <brian@gaz>

Update how tests are performed.

733. By Brian Aker <brian@gaz>

Fix for memerror if value is out of range.

734. By Brian Aker <brian@gaz>

Added more test cases for command line applications.

735. By Brian Aker <brian@gaz>

Merge Thomason's cork patch.

736. By Brian Aker <brian@gaz>

Updates for CORK.

737. By Brian Aker <brian@gaz>

Updated test_truth to be test_true to match the shades, I mean test_false()

738. By Brian Aker <brian@gaz>

Encapsulated a couple of options/moved flags around a bit.

739. By Brian Aker <brian@gaz>

Refactor test framework to run pre/post just once.

740. By Brian Aker <brian@gaz>

Added micro-benchmark bits.

741. By Brian Aker <brian@gaz>

Small cleanup in string.h and converted result_st macro to inline.

742. By Brian Aker <brian@gaz>

Remove test-plus from defaults.

743. By Brian Aker <brian@gaz>

File Refactoring

744. By Brian Aker <brian@gaz>

Partial patch on pass through to fix issues with trigger writers not
following docs on use of memcached_St

745. By Brian Aker <brian@gaz>

First pass for performance improvement on _clone() operations.

746. By Brian Aker <brian@gaz>

Remove mass calloc() on memcached_st creation.

747. By Brian Aker <brian@gaz>

Fix conversion from macro to inline.

748. By Brian Aker <brian@gaz>

Small style cleanup.

749. By Brian Aker <brian@gaz>

New allocator interface.

750. By Brian Aker <brian@gaz>

Fix for issue where stats may not be initialized.

751. By Brian Aker <brian@gaz>

We now check return key size for memcached_fetch() to make sure it is not
too big (compared to original ascii server). result_st is now initialized
differently. This should make it a bit faster.

752. By Brian Aker <brian@gaz>

Fix inline methods for strings.

753. By Brian Aker <brian@gaz>

Solaris fix

754. By Brian Aker <brian@gaz>

Merge Lee

755. By Brian Aker <brian@gaz>

Merge memslap

756. By Brian Aker <brian@gaz>

Compiles.

757. By Brian Aker <brian@gaz>

Small cleanup for loop.

758. By Brian Aker <brian@gaz>

Updates to libhashkit.

759. By Brian Aker <brian@gaz>

Updated for custom hash functions/setting functions.

760. By Brian Aker <brian@gaz>

Added full support for custom hash functions.

761. By Brian Aker <brian@gaz>

Updates for libmemached to use libhashkit

762. By Brian Aker <brian@gaz>

Updating tree for new function work in libhashkit.

763. By Brian Aker <brian@gaz>

Fix for OSX, where cork is slow....

764. By Brian Aker <brian@gaz>

Add in missing file.

765. By Brian Aker <brian@gaz>

32bit fix.

766. By Brian Aker <brian@gaz>

C++ interface bits for libhashkit

767. By Brian Aker <brian@gaz>

Updates for RPM spec file.

768. By Brian Aker <brian@gaz>

Cleanup dead files in libmemcached.

769. By Brian Aker <brian@gaz>

Fix for Debian linking issues.

770. By Brian Aker <brian@gaz>

Solaris fixes.

771. By Brian Aker <brian@gaz>

Style cleanup.

772. By Brian Aker <brian@gaz>

Fix IO call to use bool.

773. By Brian Aker <brian@gaz>

Bool fix.

774. By Brian Aker <brian@gaz>

More Cleanup

775. By Brian Aker <brian@gaz>

Modified Hashkit class (turned it into an actual class).

776. By Brian Aker <brian@gaz>

Adding test, showing off how to add a custom function to libmemcached.

777. By Brian Aker <brian@gaz>

Merge Trond.

778. By Brian Aker <brian@gaz>

Small cleanup.

779. By Brian Aker <brian@gaz>

Possible fix for solaris compiler.

780. By Brian Aker <brian@gaz>

The patch which says "Solaris is..."

781. By Brian Aker <brian@gaz>

Minor code code cleanup, plus modification to while() loop around poll in
order to catch events/replay them.

782. By Brian Aker <brian@gaz>

Patches from Piotr Sikora < <email address hidden> > for OpenBSD.

783. By Brian Aker <brian@gaz>

Cleanup on uint8 to bool for quit.

784. By Brian Aker <brian@gaz>

Fixing bogus assert in debug build.

785. By Brian Aker <brian@gaz>

Indention fix.

786. By Brian Aker <brian@gaz>

Fix for platform poll() return values.

787. By Brian Aker <brian@gaz>

bug fix for recursive decent into quit()

788. By Brian Aker <brian@gaz>

Updating version information.

789. By Brian Aker <brian@gaz>

RPM update.

790. By Brian Aker <brian@gaz>

Fix for non-Linux platforms.

791. By Brian Aker <brian@gaz>

Modifying inline's

792. By Brian Aker <brian@gaz>

Lots of compiler fixes.

793. By Brian Aker <brian@gaz>

Merge in additional type fixes.

794. By Brian Aker <brian@gaz>

Updating memcached_server_instance_st structure.

795. By Brian Aker <brian@gaz>

File shuffling

796. By Brian Aker <brian@gaz>

A number of fixes/etc.

797. By Brian Aker <brian@gaz>

Shuffled UDP tests.

798. By Brian Aker <brian@gaz>

Fixing spec file for release.

799. By Brian Aker <brian@gaz>

Merge for Dmitry

800. By Brian Aker <brian@gaz>

merge.

801. By Brian Aker <brian@gaz>

Correction to API for custom hash settings.

802. By Brian Aker <brian@gaz>

Merge

803. By Brian Aker <brian@gaz>

More fixes from Trond.

804. By Brian Aker <brian@gaz>

A couple of valgrind warnings fixes.

805. By Brian Aker <brian@gaz>

Merging memcapable

806. By Brian Aker <brian@gaz>

We didn't catch client_Error.

807. By Brian Aker <brian@gaz>

Style cleanup

808. By Brian Aker <brian@gaz>

Remove bitfield hack (solaris blows anyways).

809. By Brian Aker <brian@gaz>

Updating interface version.

810. By Brian Aker <brian@gaz>

Merge in support for prefix keys in the binary protoocol.

811. By Brian Aker <brian@gaz>

Just clean up a call (use the previous method).

812. By Brian Aker <brian@gaz>

Updating for vector interface.

813. By Brian Aker <brian@gaz>

Moved to using vector send for writes (lowers function call count).

814. By Brian Aker <brian@gaz>

Updated vector bits.

815. By Brian Aker <brian@gaz>

Remove dead call.

816. By Brian Aker <brian@gaz>

Fixes for Innodb engine.

817. By Brian Aker <brian@gaz>

Make use of new vdo().

818. By Brian Aker <brian@gaz>

Concurrent memcached_verbosity().

819. By Brian Aker <brian@gaz>

Fix for rpm buidling/make --with-debug

820. By Brian Aker <brian@gaz>

@$#$@$ gcc

821. By Brian Aker <brian@gaz>

Merge Andre

822. By Brian Aker <brian@gaz>

Update for last disconnect to stick around even if ejected.

823. By Brian Aker <brian@gaz>

Improve on algo for disabling bad hosts.

824. By Brian Aker <brian@gaz>

Update documentation.

825. By Brian Aker <brian@gaz>

Fix issue with memcached_st structure being a different size based on
compile.

826. By Brian Aker <brian@gaz>

Updating for version 0.39

827. By Monty Taylor

Latest pandora-build.

828. By Monty Taylor

Fixed an endian test to skip the test on all bigendian platforms, not just
sparc.

829. By Monty Taylor

Added support for dpkg-gensymbols-based symbols checking.

830. By Monty Taylor

Removed unused dir.

831. By Monty Taylor

Fixed a spelling error.

832. By Monty Taylor

Updated configure.ac to use new PANDORA_CANONICAL_TARGET

833. By Monty Taylor

Added a pandora-build option to disable effc++ warnings. Used it.

Unmerged revisions

833. By Monty Taylor

Added a pandora-build option to disable effc++ warnings. Used it.

832. By Monty Taylor

Updated configure.ac to use new PANDORA_CANONICAL_TARGET

831. By Monty Taylor

Fixed a spelling error.

830. By Monty Taylor

Removed unused dir.

829. By Monty Taylor

Added support for dpkg-gensymbols-based symbols checking.

828. By Monty Taylor

Fixed an endian test to skip the test on all bigendian platforms, not just
sparc.

827. By Monty Taylor

Latest pandora-build.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '.bzrignore'
2--- .bzrignore 2009-08-06 14:29:25 +0000
3+++ .bzrignore 2009-08-10 21:09:44 +0000
4@@ -56,3 +56,4 @@
5 libmemcached-0.30-1.x86_64.rpm
6 libmemcached-0.31-1.src.rpm
7 libmemcached-0.31-1.x86_64.rpm
8+config/plugin.ac
9
10=== modified file 'config/autorun.sh'
11--- config/autorun.sh 2009-07-03 10:48:15 +0000
12+++ config/autorun.sh 2009-08-10 21:09:44 +0000
13@@ -35,6 +35,18 @@
14 return 1
15 }
16
17+
18+if test -f config/pre_hook.sh
19+then
20+ . config/pre_hook.sh
21+fi
22+
23+# We need to some file here for the m4_sinclude, even if it's just empty
24+if ! test -f config/plugin.ac
25+then
26+ touch config/plugin.ac
27+fi
28+
29 # Try to detect the supported binaries if the user didn't
30 # override that by pushing the environment variable
31 if test x$LIBTOOLIZE = x; then
32@@ -78,6 +90,11 @@
33 run $AUTOMAKE $AUTOMAKE_FLAGS || die "Can't execute automake"
34 run $AUTOCONF || die "Can't execute autoconf"
35
36+if test -f config/post_hook.sh
37+then
38+ . config/post_hook.sh
39+fi
40+
41 echo "---"
42 echo "Configured with the following tools:"
43 echo " * `$LIBTOOLIZE --version | head -1`"
44
45=== modified file 'm4/pandora_64bit.m4'
46--- m4/pandora_64bit.m4 2009-07-18 18:11:25 +0000
47+++ m4/pandora_64bit.m4 2009-08-10 21:04:49 +0000
48@@ -9,12 +9,11 @@
49 AC_DEFUN([PANDORA_64BIT],[
50 AC_BEFORE([$0], [AC_LIB_PREFIX])
51
52-
53- AC_ARG_ENABLE([64bit],[
54- AS_HELP_STRING([--disable-64bit],
55+ AC_ARG_ENABLE([64bit],
56+ [AS_HELP_STRING([--disable-64bit],
57 [Build 64 bit binary @<:@default=on@:>@])],
58- [ac_enable_64bit="$enableval"],
59- [ac_enable_64bit="yes"])
60+ [ac_enable_64bit="$enableval"],
61+ [ac_enable_64bit="yes"])
62
63 AC_CHECK_PROGS(ISAINFO, [isainfo], [no])
64 AS_IF([test "x$ISAINFO" != "xno"],
65@@ -26,23 +25,29 @@
66 isainfo_k=`${ISAINFO} -k`
67 DTRACEFLAGS="${DTRACEFLAGS} -${isainfo_k}"
68
69- AS_IF([test "x${ac_cv_env_CPPFLAGS_set}" = "x"],[
70- CPPFLAGS="-I/usr/local ${CPPFLAGS}"
71- ])
72-
73- AS_IF([test "x${ac_cv_env_LDFLAGS_set}" = "x"],[
74- LDFLAGS="-L/usr/local/lib/${isainfo_k} ${LDFLAGS}"
75- ])
76-
77 AS_IF([test "x$ac_enable_64bit" = "xyes"],[
78+
79+ AS_IF([test "x${ac_cv_env_LDFLAGS_set}" = "x"],[
80+ LDFLAGS="-L/usr/local/lib/${isainfo_k} ${LDFLAGS}"
81+ ])
82+
83 AS_IF([test "x$libdir" = "x\${exec_prefix}/lib"],[
84 dnl The user hasn't overridden the default libdir, so we'll
85 dnl the dir suffix to match solaris 32/64-bit policy
86 libdir="${libdir}/${isainfo_k}"
87 ])
88
89- CPPFLAGS="-m64 ${CPPFLAGS}"
90- LDFLAGS="-m64 ${LDFLAGS}"
91+ AS_IF([test "x${ac_cv_env_CFLAGS_set}" = "x"],[
92+ CFLAGS="${CFLAGS} -m64"
93+ ac_cv_env_CFLAGS_set=set
94+ ac_cv_env_CFLAGS_value='-m64'
95+ ])
96+ AS_IF([test "x${ac_cv_env_CXXFLAGS_set}" = "x"],[
97+ CXXFLAGS="${CXXFLAGS} -m64"
98+ ac_cv_env_CXXFLAGS_set=set
99+ ac_cv_env_CXXFLAGS_value='-m64'
100+ ])
101+
102 AS_IF([test "$target_cpu" = "sparc" -a "x$SUNCC" = "xyes"],[
103 AM_CFLAGS="-xmemalign=8s ${AM_CFLAGS}"
104 AM_CXXFLAGS="-xmemalign=8s ${AM_CXXFLAGS}"
105
106=== modified file 'm4/pandora_canonical.m4'
107--- m4/pandora_canonical.m4 2009-07-18 18:11:25 +0000
108+++ m4/pandora_canonical.m4 2009-08-10 21:09:44 +0000
109@@ -4,7 +4,7 @@
110 dnl with or without modifications, as long as this notice is preserved.
111
112 dnl Which version of the canonical setup we're using
113-AC_DEFUN([PANDORA_CANONICAL_VERSION],[0.22])
114+AC_DEFUN([PANDORA_CANONICAL_VERSION],[0.46])
115
116 AC_DEFUN([PANDORA_FORCE_DEPEND_TRACKING],[
117 dnl Force dependency tracking on for Sun Studio builds
118@@ -63,19 +63,17 @@
119
120 dnl Once we can use a modern autoconf, we can use this
121 dnl AC_PROG_CC_C99
122- AC_PROG_CXX
123+ AC_REQUIRE([AC_PROG_CXX])
124+ gl_USE_SYSTEM_EXTENSIONS
125 AC_PROG_CPP
126 AM_PROG_CC_C_O
127
128
129- gl_USE_SYSTEM_EXTENSIONS
130 m4_if(PCT_FORCE_GCC42, [yes], [
131 AS_IF([test "$GCC" = "yes"], PANDORA_ENSURE_GCC_VERSION)
132 ])
133
134- AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
135- AC_CHECK_DECL([__ICC], [INTELCC="yes"], [INTELCC="no"])
136- AS_IF([test "x$INTELCC" = "xyes"], [enable_rpath=no])
137+ PANDORA_PLATFORM
138
139 PANDORA_LIBTOOL
140
141@@ -140,6 +138,9 @@
142 ])
143 ])
144
145+ PANDORA_USE_PIPE
146+
147+
148 AM_CPPFLAGS="-I\${top_srcdir} -I\${top_builddir} ${AM_CPPFLAGS}"
149 AM_CFLAGS="${AM_CFLAGS} ${CC_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
150 AM_CXXFLAGS="${AM_CXXFLAGS} ${CXX_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
151
152=== modified file 'm4/pandora_have_better_malloc.m4'
153--- m4/pandora_have_better_malloc.m4 2009-07-16 02:58:56 +0000
154+++ m4/pandora_have_better_malloc.m4 2009-08-10 21:04:49 +0000
155@@ -11,8 +11,16 @@
156 AC_ARG_ENABLE([umem],
157 [AS_HELP_STRING([--enable-umem],
158 [Enable linking with libumem @<:@default=off@:>@])],
159- [ac_enable_umem="$enableval"],
160- [ac_enable_umem="no"])
161+ [ac_enable_umem="$enableval"],[
162+ case "$target_os" in
163+ *solaris*)
164+ ac_enable_umem="yes"
165+ ;;
166+ *)
167+ ac_enable_umem="no"
168+ ;;
169+ esac
170+ ])
171
172 AC_ARG_ENABLE([tcmalloc],
173 [AS_HELP_STRING([--enable-tcmalloc],
174
175=== modified file 'm4/pandora_have_libdrizzle.m4'
176--- m4/pandora_have_libdrizzle.m4 2009-07-16 02:58:56 +0000
177+++ m4/pandora_have_libdrizzle.m4 2009-08-10 21:04:49 +0000
178@@ -9,16 +9,25 @@
179 dnl --------------------------------------------------------------------
180 dnl Check for libdrizzle
181 dnl --------------------------------------------------------------------
182-
183- AC_LIB_HAVE_LINKFLAGS(drizzle,,[
184- #include <libdrizzle/drizzle_client.h>
185+
186+ AC_ARG_ENABLE([libdrizzle],
187+ [AS_HELP_STRING([--disable-libdrizzle],
188+ [Build with libdrizzle support @<:@default=on@:>@])],
189+ [ac_enable_libdrizzle="$enableval"],
190+ [ac_enable_libdrizzle="yes"])
191+
192+ AS_IF([test "x$ac_enable_libdrizzle" = "xyes"],[
193+ AC_LIB_HAVE_LINKFLAGS(drizzle,,[
194+ #include <libdrizzle/drizzle_client.h>
195+ ],[
196+ drizzle_st drizzle;
197+ drizzle_version();
198+ ])
199 ],[
200- drizzle_st drizzle;
201- drizzle_version();
202+ ac_cv_libdrizzle="no"
203 ])
204
205 AM_CONDITIONAL(HAVE_LIBDRIZZLE, [test "x${ac_cv_libdrizzle}" = "xyes"])
206-
207 ])
208
209 AC_DEFUN([PANDORA_HAVE_LIBDRIZZLE],[
210@@ -27,7 +36,7 @@
211
212 AC_DEFUN([PANDORA_REQUIRE_LIBDRIZZLE],[
213 AC_REQUIRE([PANDORA_HAVE_LIBDRIZZLE])
214- AS_IF([test x$ac_cv_libdrizzle = xno],
215+ AS_IF([test "x${ac_cv_libdrizzle}" = "xno"],
216 AC_MSG_ERROR([libdrizzle is required for ${PACKAGE}]))
217 ])
218
219
220=== modified file 'm4/pandora_have_libgearman.m4'
221--- m4/pandora_have_libgearman.m4 2009-07-16 02:58:56 +0000
222+++ m4/pandora_have_libgearman.m4 2009-08-10 21:04:49 +0000
223@@ -10,14 +10,24 @@
224 dnl Check for libgearman
225 dnl --------------------------------------------------------------------
226
227- AC_LIB_HAVE_LINKFLAGS(gearman,,
228- [#include <libgearman/gearman.h>],[
229- gearman_client_st gearman_client;
230- gearman_version();
231- ])
232+ AC_ARG_ENABLE([libgearman],
233+ [AS_HELP_STRING([--disable-libgearman],
234+ [Build with libgearman support @<:@default=on@:>@])],
235+ [ac_enable_libgearman="$enableval"],
236+ [ac_enable_libgearman="yes"])
237+
238+ AS_IF([test "x$ac_enable_libgearman" = "xyes"],[
239+ AC_LIB_HAVE_LINKFLAGS(gearman,,[
240+ #include <libgearman/gearman.h>
241+ ],[
242+ gearman_client_st gearman_client;
243+ gearman_version();
244+ ])
245+ ],[
246+ ac_cv_libgearman="no"
247+ ])
248
249 AM_CONDITIONAL(HAVE_LIBGEARMAN, [test "x${ac_cv_libgearman}" = "xyes"])
250-
251 ])
252
253 AC_DEFUN([PANDORA_HAVE_LIBGEARMAN],[
254@@ -26,6 +36,6 @@
255
256 AC_DEFUN([PANDORA_REQUIRE_LIBGEARMAN],[
257 AC_REQUIRE([PANDORA_HAVE_LIBGEARMAN])
258- AS_IF([test x$ac_cv_libgearman = xno],
259+ AS_IF([test "x${ac_cv_libgearman}" = "xno"],
260 AC_MSG_ERROR([libgearman is required for ${PACKAGE}]))
261 ])
262
263=== modified file 'm4/pandora_have_libmemcached.m4'
264--- m4/pandora_have_libmemcached.m4 2009-07-16 02:58:56 +0000
265+++ m4/pandora_have_libmemcached.m4 2009-08-10 21:04:49 +0000
266@@ -10,18 +10,27 @@
267 dnl Check for libmemcached
268 dnl --------------------------------------------------------------------
269
270- AC_LIB_HAVE_LINKFLAGS(memcached,,[
271- #include <libmemcached/memcached.h>
272- ], [
273- memcached_st memc;
274- memcached_dump_func *df;
275- memcached_version();
276+ AC_ARG_ENABLE([libmemcached],
277+ [AS_HELP_STRING([--disable-libmemcached],
278+ [Build with libmemcached support @<:@default=on@:>@])],
279+ [ac_enable_libmemcached="$enableval"],
280+ [ac_enable_libmemcached="yes"])
281+
282+ AS_IF([test "x$ac_enable_libmemcached" = "xyes"],[
283+ AC_LIB_HAVE_LINKFLAGS(memcached,,[
284+ #include <libmemcached/memcached.h>
285+ ],[
286+ memcached_st memc;
287+ memcached_dump_func *df;
288+ memcached_lib_version();
289+ ])
290+ ],[
291+ ac_cv_libmemcached="no"
292 ])
293
294 AM_CONDITIONAL(HAVE_LIBMEMCACHED, [test "x${ac_cv_libmemcached}" = "xyes"])
295
296 AS_IF([test "x${ac_cv_libmemcached}" = "xyes"], [ PANDORA_WITH_MEMCACHED ])
297-
298 ])
299
300 AC_DEFUN([PANDORA_HAVE_LIBMEMCACHED],[
301
302=== modified file 'm4/pandora_have_libpq.m4'
303--- m4/pandora_have_libpq.m4 2009-07-18 18:11:25 +0000
304+++ m4/pandora_have_libpq.m4 2009-08-10 21:04:49 +0000
305@@ -10,11 +10,26 @@
306 dnl Check for libpq
307 dnl --------------------------------------------------------------------
308
309- AC_LIB_HAVE_LINKFLAGS(pq,,[
310- #include <libpq-fe.h>
311- ], [
312- PGconn *conn;
313- conn = PQconnectdb(NULL);
314+ AC_ARG_ENABLE([libpq],
315+ [AS_HELP_STRING([--disable-libpq],
316+ [Build with libpq support @<:@default=on@:>@])],
317+ [ac_enable_libpq="$enableval"],
318+ [ac_enable_libpq="yes"])
319+
320+ AS_IF([test "x$ac_enable_libpq" = "xyes"],[
321+ AC_CHECK_HEADERS([libpq-fe.h])
322+ AC_LIB_HAVE_LINKFLAGS(pq,,[
323+ #ifdef HAVE_LIBPQ_FE_H
324+ # include <libpq-fe.h>
325+ #else
326+ # include <postgresql/libpq-fe.h>
327+ #endif
328+ ], [
329+ PGconn *conn;
330+ conn = PQconnectdb(NULL);
331+ ])
332+ ],[
333+ ac_cv_libpq="no"
334 ])
335
336 AM_CONDITIONAL(HAVE_LIBPQ, [test "x${ac_cv_libpq}" = "xyes"])
337@@ -26,6 +41,6 @@
338
339 AC_DEFUN([PANDORA_REQUIRE_LIBPQ],[
340 AC_REQUIRE([PANDORA_HAVE_LIBPQ])
341- AS_IF([test x$ac_cv_libpq = xno],
342- AC_MSG_ERROR([libpq is required for ${PACKAGE}]))
343+ AS_IF([test "x${ac_cv_libpq}" = "xno"],
344+ AC_MSG_ERROR([libpq is required for ${PACKAGE}]))
345 ])
346
347=== added file 'm4/pandora_have_libsqlite3.m4'
348--- m4/pandora_have_libsqlite3.m4 1970-01-01 00:00:00 +0000
349+++ m4/pandora_have_libsqlite3.m4 2009-08-10 21:04:49 +0000
350@@ -0,0 +1,42 @@
351+dnl Copyright (C) 2009 Sun Microsystems
352+dnl This file is free software; Sun Microsystems
353+dnl gives unlimited permission to copy and/or distribute it,
354+dnl with or without modifications, as long as this notice is preserved.
355+
356+AC_DEFUN([_PANDORA_SEARCH_LIBSQLITE3],[
357+ AC_REQUIRE([AC_LIB_PREFIX])
358+
359+ dnl --------------------------------------------------------------------
360+ dnl Check for libsqlite3
361+ dnl --------------------------------------------------------------------
362+
363+ AC_ARG_ENABLE([libsqlite3],
364+ [AS_HELP_STRING([--disable-libsqlite3],
365+ [Build with libsqlite3 support @<:@default=on@:>@])],
366+ [ac_enable_libsqlite3="$enableval"],
367+ [ac_enable_libsqlite3="yes"])
368+
369+ AS_IF([test "x$ac_enable_libsqlite3" = "xyes"],[
370+ AC_LIB_HAVE_LINKFLAGS(sqlite3,,[
371+ #include <stdio.h>
372+ #include <sqlite3.h>
373+ ],[
374+ sqlite3 *db;
375+ sqlite3_open(NULL, &db);
376+ ])
377+ ],[
378+ ac_cv_libsqlite3="no"
379+ ])
380+
381+ AM_CONDITIONAL(HAVE_LIBSQLITE3, [test "x${ac_cv_libsqlite3}" = "xyes"])
382+])
383+
384+AC_DEFUN([PANDORA_HAVE_LIBSQLITE3],[
385+ AC_REQUIRE([_PANDORA_SEARCH_LIBSQLITE3])
386+])
387+
388+AC_DEFUN([PANDORA_REQUIRE_LIBSQLITE3],[
389+ AC_REQUIRE([_PANDORA_SEARCH_LIBSQLITE3])
390+ AS_IF([test "x${ac_cv_libsqlite3}" = "xno"],
391+ AC_MSG_ERROR([libsqlite3 is required for ${PACKAGE}]))
392+])
393
394=== added file 'm4/pandora_have_protobuf.m4'
395--- m4/pandora_have_protobuf.m4 1970-01-01 00:00:00 +0000
396+++ m4/pandora_have_protobuf.m4 2009-08-10 21:04:49 +0000
397@@ -0,0 +1,80 @@
398+dnl -*- mode: m4; c-basic-offset: 2; indent-tabs-mode: nil; -*-
399+dnl vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
400+dnl
401+dnl pandora-build: A pedantic build system
402+dnl Copyright (C) 2009 Sun Microsystems, Inc.
403+dnl This file is free software; the Free Software Foundation
404+dnl gives unlimited permission to copy and/or distribute it,
405+dnl with or without modifications, as long as this notice is preserved.
406+dnl
407+dnl From Monty Taylor
408+
409+dnl --------------------------------------------------------------------
410+dnl Check for Google Proto Buffers
411+dnl --------------------------------------------------------------------
412+
413+AC_DEFUN([_PANDORA_SEARCH_LIBPROTOBUF],[
414+ AC_REQUIRE([PANDORA_HAVE_PTHREAD])
415+
416+ AC_LANG_PUSH([C++])
417+ save_CXXFLAGS="${CXXFLAGS}"
418+ CXXFLAGS="${PTHREAD_CFLAGS} ${CXXFLAGS}"
419+ AC_LIB_HAVE_LINKFLAGS(protobuf,,
420+ [#include <google/protobuf/descriptor.h>],
421+ [google::protobuf::FileDescriptor* file;],
422+ [system])
423+ CXXFLAGS="${save_CXXFLAGS}"
424+ AC_LANG_POP()
425+])
426+
427+AC_DEFUN([PANDORA_HAVE_LIBPROTOBUF],[
428+ AC_REQUIRE([_PANDORA_SEARCH_LIBPROTOBUF])
429+])
430+
431+AC_DEFUN([PANDORA_REQUIRE_LIBPROTOBUF],[
432+ AC_REQUIRE([PANDORA_HAVE_LIBPROTOBUF])
433+ AS_IF([test x$ac_cv_libprotobuf = xno],
434+ AC_MSG_ERROR([libprotobuf is required for ${PACKAGE}. On Debian this can be found in libprotobuf-dev. On RedHat this can be found in protobuf-devel.]))
435+])
436+
437+AC_DEFUN([PANDORA_PROTOBUF_REQUIRE_VERSION],[
438+ AC_REQUIRE([_PANDORA_SEARCH_LIBPROTOBUF])
439+ p_recent_ver=$1
440+ p_recent_ver_major=`echo $p_recent_ver | cut -f1 -d.`
441+ p_recent_ver_minor=`echo $p_recent_ver | cut -f2 -d.`
442+ p_recent_ver_patch=`echo $p_recent_ver | cut -f3 -d.`
443+ p_recent_ver_hex=`printf "%d%03d%03d" $p_recent_ver_major $p_recent_ver_minor $p_recent_ver_patch`
444+ AC_LANG_PUSH([C++])
445+ AC_CACHE_CHECK([for protobuf >= $p_recent_ver],
446+ [drizzle_cv_protobuf_recent],
447+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
448+#include <google/protobuf/descriptor.h>
449+#if GOOGLE_PROTOBUF_VERSION < $p_recent_ver_hex
450+# error Your version of Protobuf is too old
451+#endif
452+ ]])],
453+ [drizzle_cv_protobuf_recent=yes],
454+ [drizzle_cv_protobuf_recent=no])])
455+ AS_IF([test "$drizzle_cv_protobuf_recent" = "no"],[
456+ AC_MSG_ERROR([Your version of Google Protocol Buffers is too old. ${PACKAGE} requires at least version $p_recent_ver])
457+ ])
458+ AC_LANG_POP()
459+])
460+
461+AC_DEFUN([_PANDORA_SEARCH_PROTOC],[
462+ AC_REQUIRE([_PANDORA_SEARCH_LIBPROTOBUF])
463+ AC_PATH_PROG([PROTOC],[protoc],[no],[$LIBPROTOBUF_PREFIX/bin:$PATH])
464+])
465+
466+AC_DEFUN([PANDORA_HAVE_PROTOC],[
467+ AC_REQUIRE([_PANDORA_SEARCH_PROTOC])
468+])
469+
470+AC_DEFUN([PANDORA_REQUIRE_PROTOC],[
471+ AC_REQUIRE([PANDORA_HAVE_PROTOC])
472+ AS_IF([test "x$PROTOC" = "xno"],[
473+ AC_MSG_ERROR([Couldn't find the protoc compiler. On Debian this can be found in protobuf-compiler. On RedHat this can be found in protobuf-compiler.])
474+ ])
475+])
476+
477+
478
479=== added file 'm4/pandora_platform.m4'
480--- m4/pandora_platform.m4 1970-01-01 00:00:00 +0000
481+++ m4/pandora_platform.m4 2009-08-10 21:04:49 +0000
482@@ -0,0 +1,68 @@
483+dnl -*- mode: m4; c-basic-offset: 2; indent-tabs-mode: nil; -*-
484+dnl vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
485+dnl
486+dnl pandora-build: A pedantic build system
487+dnl Copyright (C) 2009 Sun Microsystems, Inc.
488+dnl This file is free software; the Free Software Foundation
489+dnl gives unlimited permission to copy and/or distribute it,
490+dnl with or without modifications, as long as this notice is preserved.
491+dnl
492+dnl From Monty Taylor
493+
494+AC_DEFUN([PANDORA_PLATFORM],[
495+
496+ dnl Canonicalize the configuration name.
497+
498+ AC_DEFINE_UNQUOTED([HOST_VENDOR], ["$host_vendor"],[Vendor of Build System])
499+ AC_DEFINE_UNQUOTED([HOST_OS], ["$host_os"], [OS of Build System])
500+ AC_DEFINE_UNQUOTED([HOST_CPU], ["$host_cpu"], [CPU of Build System])
501+
502+ AC_DEFINE_UNQUOTED([TARGET_VENDOR], ["$target_vendor"],[Vendor of Target System])
503+ AC_DEFINE_UNQUOTED([TARGET_OS], ["$target_os"], [OS of Target System])
504+ AC_DEFINE_UNQUOTED([TARGET_CPU], ["$target_cpu"], [CPU of Target System])
505+
506+
507+ case "$host_os" in
508+ *solaris*|*freebsd*)
509+ AS_IF([test "x${ac_cv_env_CPPFLAGS_set}" = "x"],[
510+ CPPFLAGS="${CPPFLAGS} -I/usr/local/include"
511+ ])
512+
513+ AS_IF([test "x${ac_cv_env_LDFLAGS_set}" = "x"],[
514+ LDFLAGS="${LDFLAGS} -L/usr/local/lib"
515+ ])
516+ ;;
517+ esac
518+
519+ case "$target_os" in
520+ *linux*)
521+ TARGET_LINUX="true"
522+ AC_SUBST(TARGET_LINUX)
523+ AC_DEFINE([TARGET_OS_LINUX], [1], [Whether we build for Linux])
524+ ;;
525+ *darwin*)
526+ TARGET_OSX="true"
527+ AC_SUBST(TARGET_OSX)
528+ AC_DEFINE([TARGET_OS_OSX], [1], [Whether we build for OSX])
529+ ;;
530+ *solaris*)
531+ TARGET_SOLARIS="true"
532+ AC_SUBST(TARGET_SOLARIS)
533+ AC_DEFINE([TARGET_OS_SOLARIS], [1], [Whether we are building for Solaris])
534+ ;;
535+ *freebsd*)
536+ TARGET_FREEBSD="true"
537+ AC_SUBST(TARGET_FREEBSD)
538+ AC_DEFINE([TARGET_OS_FREEBSD], [1], [Whether we are building for FreeBSD])
539+ AC_DEFINE([__APPLE_CC__],[1],[Workaround for bug in FreeBSD headers])
540+ ;;
541+ *)
542+ ;;
543+ esac
544+
545+ AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
546+ AC_CHECK_DECL([__ICC], [INTELCC="yes"], [INTELCC="no"])
547+
548+ AS_IF([test "x$INTELCC" = "xyes"], [enable_rpath=no])
549+
550+])
551
552=== added file 'm4/pandora_plugins.m4'
553--- m4/pandora_plugins.m4 1970-01-01 00:00:00 +0000
554+++ m4/pandora_plugins.m4 2009-08-10 21:09:44 +0000
555@@ -0,0 +1,34 @@
556+dnl Copyright (C) 2009 Sun Microsystems
557+dnl This file is free software; Sun Microsystems
558+dnl gives unlimited permission to copy and/or distribute it,
559+dnl with or without modifications, as long as this notice is preserved.
560+dnl--------------------------------------------------------------------
561+dnl PANDORA_PLUGINS
562+dnl Declare our plugin modules
563+dnl--------------------------------------------------------------------
564+
565+AC_DEFUN([PANDORA_PLUGINS],[
566+
567+ m4_include(config/plugin.ac)
568+ dnl Add code here to read set plugin lists and set drizzled_default_plugin_list
569+ AC_DEFINE_UNQUOTED([PANDORA_PLUGIN_LIST],[$pandora_default_plugin_list],
570+ [List of plugins that should be loaded on startup if no
571+ value is given for --plugin-load])
572+
573+ pandora_builtin_list=`echo $pandora_builtin_list | sed 's/, *$//'`
574+ AC_DEFINE_UNQUOTED([PANDORA_BUILTIN_LIST],[$pandora_builtin_list],
575+ [List of plugins to be built in])
576+
577+ AC_SUBST(pandora_plugin_test_list)
578+ AC_SUBST(pandora_plugin_libs)
579+
580+ pandora_plugin_defs=`echo $pandora_plugin_defs | sed 's/, *$//'`
581+ AC_SUBST(pandora_plugin_defs)
582+
583+ AC_SUBST(PANDORA_PLUGIN_DEP_LIBS)
584+ AC_SUBST(pkgplugindir,"\$(pkglibdir)/plugin")
585+])
586+
587+AC_DEFUN([PANDORA_ADD_PLUGIN_DEP_LIB],[
588+ PANDORA_PLUGIN_DEP_LIBS="${PANDORA_PLUGIN_DEP_LIBS} $*"
589+])
590
591=== added file 'm4/pandora_pthread.m4'
592--- m4/pandora_pthread.m4 1970-01-01 00:00:00 +0000
593+++ m4/pandora_pthread.m4 2009-08-10 21:04:49 +0000
594@@ -0,0 +1,34 @@
595+dnl -*- mode: m4; c-basic-offset: 2; indent-tabs-mode: nil; -*-
596+dnl vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
597+dnl
598+dnl pandora-build: A pedantic build system
599+dnl Copyright (C) 2009 Sun Microsystems, Inc.
600+dnl This file is free software; the Free Software Foundation
601+dnl gives unlimited permission to copy and/or distribute it,
602+dnl with or without modifications, as long as this notice is preserved.
603+dnl
604+dnl From Monty Taylor
605+
606+
607+dnl --------------------------------------------------------------------
608+dnl Check for libpthread
609+dnl --------------------------------------------------------------------
610+
611+AC_DEFUN([_PANDORA_SEARCH_PTHREAD],[
612+ ACX_PTHREAD
613+ LIBS="${PTHREAD_LIBS} ${LIBS}"
614+ AM_CFLAGS="${PTHREAD_CFLAGS} ${AM_CFLAGS}"
615+ AM_CXXFLAGS="${PTHREAD_CFLAGS} ${AM_CXXFLAGS}"
616+ CC="$PTHREAD_CC"
617+])
618+
619+
620+AC_DEFUN([PANDORA_HAVE_PTHREAD],[
621+ AC_REQUIRE([_PANDORA_SEARCH_PTHREAD])
622+])
623+
624+AC_DEFUN([PANDORA_REQUIRE_PTHREAD],[
625+ AC_REQUIRE([PANDORA_HAVE_PTHREAD])
626+ AS_IF([test "x$acx_pthread_ok" != "xyes"],[
627+ AC_MSG_ERROR(could not find libpthread)])
628+])
629
630=== added file 'm4/pandora_swig.m4'
631--- m4/pandora_swig.m4 1970-01-01 00:00:00 +0000
632+++ m4/pandora_swig.m4 2009-08-10 21:04:49 +0000
633@@ -0,0 +1,32 @@
634+dnl -*- mode: m4; c-basic-offset: 2; indent-tabs-mode: nil; -*-
635+dnl vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
636+dnl
637+dnl pandora-build: A pedantic build system
638+dnl Copyright (C) 2009 Sun Microsystems, Inc.
639+dnl This file is free software; the Free Software Foundation
640+dnl gives unlimited permission to copy and/or distribute it,
641+dnl with or without modifications, as long as this notice is preserved.
642+dnl
643+dnl From Monty Taylor
644+
645+AC_DEFUN([PANDORA_SWIG],[
646+
647+ AC_PROG_SWIG(1.3.36)
648+ AC_DEFINE([SWIG_TYPE_TABLE],
649+ [libgearman],
650+ [Type Table name for SWIG symbol table])
651+
652+ dnl Have to hard-code /usr/local/include and /usr/include into the path.
653+ dnl I hate this. Why is swig sucking me
654+ SWIG="$SWIG \${DEFS} -I\${top_srcdir} -I\${top_builddir} -I/usr/local/include -I/usr/include"
655+ AC_SUBST([SWIG])
656+
657+
658+ AC_CACHE_CHECK([if swig supports Python3],
659+ [ac_cv_swig_has_python3_],
660+ [
661+ AS_IF([swig -python3 2>&1 | grep "Unable to find" > /dev/null],
662+ [ac_cv_swig_has_python3_=no],
663+ [ac_cv_swig_has_python3_=yes])
664+ ])
665+])
666
667=== added file 'm4/pandora_use_pipe.m4'
668--- m4/pandora_use_pipe.m4 1970-01-01 00:00:00 +0000
669+++ m4/pandora_use_pipe.m4 2009-08-10 21:04:49 +0000
670@@ -0,0 +1,36 @@
671+dnl -*- mode: m4; c-basic-offset: 2; indent-tabs-mode: nil; -*-
672+dnl vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
673+dnl
674+dnl pandora-build: A pedantic build system
675+dnl Copyright (C) 2009 Sun Microsystems, Inc.
676+dnl This file is free software; the Free Software Foundation
677+dnl gives unlimited permission to copy and/or distribute it,
678+dnl with or without modifications, as long as this notice is preserved.
679+dnl
680+dnl From Monty Taylor
681+dnl
682+dnl Test if we can Use -pipe to avoid making temp files during the compile.
683+dnl Should speed up compile on slower disks
684+
685+AC_DEFUN([PANDORA_USE_PIPE],[
686+
687+ AS_IF([test "$GCC" = "yes"],[
688+ AC_CACHE_CHECK([for working -pipe], [pandora_cv_use_pipe], [
689+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
690+#include <stdio.h>
691+
692+int main(int argc, char** argv)
693+{
694+ (void) argc; (void) argv;
695+ return 0;
696+}
697+ ]])],
698+ [pandora_cv_use_pipe=yes],
699+ [pandora_cv_use_pipe=no])
700+ ])
701+ AS_IF([test "$pandora_cv_use_pipe" = "yes"],[
702+ AM_CFLAGS="-pipe ${AM_CFLAGS}"
703+ AM_CXXFLAGS="-pipe ${AM_CXXFLAGS}"
704+ ])
705+ ])
706+])
707
708=== modified file 'm4/pandora_warnings.m4'
709--- m4/pandora_warnings.m4 2009-07-16 02:28:54 +0000
710+++ m4/pandora_warnings.m4 2009-08-10 21:04:49 +0000
711@@ -206,7 +206,10 @@
712 [CXX_WARNINGS="${CXX_WARNINGS} -Wno-redundant-decls"])
713
714 NO_REDUNDANT_DECLS="-Wno-redundant-decls"
715- PROTOSKIP_WARNINGS="-Wno-effc++ -Wno-shadow"
716+ dnl TODO: Figure out a better way to deal with this:
717+ PROTOSKIP_WARNINGS="-Wno-effc++ -Wno-shadow -Wno-missing-braces"
718+ NO_WERROR="-Wno-error"
719+ INNOBASE_SKIP_WARNINGS="-Wno-shadow -Wno-cast-align"
720
721 ])
722 ])
723@@ -247,8 +250,9 @@
724
725 CC_WARNINGS="-v -errtags=yes ${W_FAIL} ${CC_WARNINGS_FULL}"
726 CXX_WARNINGS="+w +w2 -xwe -xport64 -errtags=yes ${CXX_WARNINGS_FULL} ${W_FAIL}"
727- PROTOSKIP_WARNINGS="-erroff=attrskipunsup,doubunder,reftotemp,wbadinitl,identexpected,inllargeuse,truncwarn1,signextwarn"
728+ PROTOSKIP_WARNINGS="-erroff=attrskipunsup,doubunder,reftotemp,wbadinitl,identexpected,inllargeuse,truncwarn1,signextwarn,partinit,notused,badargtype2w,wbadinit"
729 NO_UNREACHED="-erroff=E_STATEMENT_NOT_REACHED"
730+ NO_WERROR="-errwarn=%none"
731
732 ])
733
734@@ -258,5 +262,7 @@
735 AC_SUBST(NO_SHADOW)
736 AC_SUBST(NO_STRICT_ALIASING)
737 AC_SUBST(PROTOSKIP_WARNINGS)
738+ AC_SUBST(INNOBASE_SKIP_WARNINGS)
739+ AC_SUBST(NO_WERROR)
740
741 ])
742
743=== added file 'm4/pandora_with_lua.m4'
744--- m4/pandora_with_lua.m4 1970-01-01 00:00:00 +0000
745+++ m4/pandora_with_lua.m4 2009-08-10 21:04:49 +0000
746@@ -0,0 +1,45 @@
747+dnl -*- mode: m4; c-basic-offset: 2; indent-tabs-mode: nil; -*-
748+dnl vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
749+dnl
750+dnl pandora-build: A pedantic build system
751+dnl Copyright (C) 2009 Sun Microsystems, Inc.
752+dnl This file is free software; the Free Software Foundation
753+dnl gives unlimited permission to copy and/or distribute it,
754+dnl with or without modifications, as long as this notice is preserved.
755+dnl
756+dnl From Monty Taylor
757+
758+AC_DEFUN([PANDORA_WITH_LUA],[
759+ dnl Check for lua
760+ AC_ARG_WITH([lua],
761+ [AS_HELP_STRING([--with-lua],
762+ [Build Lua Bindings @<:@default=yes@:>@])],
763+ [with_lua=$withval],
764+ [with_lua=yes])
765+
766+ AS_IF([test "x$with_lua" != "xno"],[
767+ AS_IF([test "x$with_lua" = "xyes"],
768+ [LUAPC=lua],
769+ [LUAPC=$with_lua])
770+
771+ PKG_CHECK_MODULES([LUA], $LUAPC >= 5.1, [
772+ AC_DEFINE([HAVE_LUA], [1], [liblua])
773+ AC_DEFINE([HAVE_LUA_H], [1], [lua.h])
774+ with_lua=yes
775+ ],[
776+ PKG_CHECK_MODULES([LUA], lua5.1 >= 5.1, [
777+ AC_DEFINE([HAVE_LUA], [1], [liblua])
778+ AC_DEFINE([HAVE_LUA_H], [1], [lua.h])
779+ with_lua=yes
780+ ],[
781+ AC_DEFINE([HAVE_LUA],["x"],["x"])
782+ with_lua=no
783+ ])
784+ ])
785+
786+ AC_SUBST(LUA_CFLAGS)
787+ AC_SUBST(LUA_LIBS)
788+ ])
789+ AM_CONDITIONAL(BUILD_LUA, test "$with_lua" = "yes")
790+
791+])
792
793=== added file 'm4/pandora_with_perl.m4'
794--- m4/pandora_with_perl.m4 1970-01-01 00:00:00 +0000
795+++ m4/pandora_with_perl.m4 2009-08-10 21:04:49 +0000
796@@ -0,0 +1,38 @@
797+dnl -*- mode: m4; c-basic-offset: 2; indent-tabs-mode: nil; -*-
798+dnl vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
799+dnl
800+dnl pandora-build: A pedantic build system
801+dnl Copyright (C) 2009 Sun Microsystems, Inc.
802+dnl This file is free software; the Free Software Foundation
803+dnl gives unlimited permission to copy and/or distribute it,
804+dnl with or without modifications, as long as this notice is preserved.
805+dnl
806+dnl From Monty Taylor
807+
808+
809+AC_DEFUN([PANDORA_WITH_PERL], [
810+
811+ AC_ARG_WITH([perl],
812+ [AS_HELP_STRING([--with-perl],
813+ [Build Perl Bindings @<:@default=yes@:>@])],
814+ [with_perl=$withval],
815+ [with_perl=yes])
816+
817+
818+ AS_IF([test "x$with_perl" != "xno"],[
819+ AS_IF([test "x$with_perl" != "xyes"],
820+ [ac_chk_perl=$with_perl],
821+ [ac_chk_perl=perl])
822+ AC_CHECK_PROGS(PERL,$ac_chk_perl)
823+ ])
824+
825+ AM_CONDITIONAL(BUILD_PERL, [test "$with_perl" = "yes"])
826+
827+dnl Don't think we need these anymore, but it's a good reference
828+dnl if test "x$PERL" != "x"; then
829+dnl PERLCCFLAGS=`$PERL -MConfig -e 'print $Config{ccflags};'`
830+dnl PERLCPPFLAGS=`$PERL -MConfig -e 'print $Config{cppflags};'`
831+dnl PERLLIBS=`$PERL -MConfig -e 'print $Config{perllibs};'`
832+dnl fi
833+
834+])
835
836=== added file 'm4/pandora_with_php.m4'
837--- m4/pandora_with_php.m4 1970-01-01 00:00:00 +0000
838+++ m4/pandora_with_php.m4 2009-08-10 21:04:49 +0000
839@@ -0,0 +1,56 @@
840+dnl -*- mode: m4; c-basic-offset: 2; indent-tabs-mode: nil; -*-
841+dnl vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
842+dnl
843+dnl pandora-build: A pedantic build system
844+dnl Copyright (C) 2009 Sun Microsystems, Inc.
845+dnl This file is free software; the Free Software Foundation
846+dnl gives unlimited permission to copy and/or distribute it,
847+dnl with or without modifications, as long as this notice is preserved.
848+dnl
849+dnl From Monty Taylor
850+
851+
852+AC_DEFUN([PANDORA_WITH_PHP],[
853+
854+ AC_ARG_WITH([php],
855+ [AS_HELP_STRING([--with-php],
856+ [Build NDB/PHP @<:@default=no@:>@])],
857+ [with_php=$withval],
858+ [with_php=no])
859+
860+ AS_IF([test "x$with_php" != "xno"],[
861+ dnl We explicitly requested PHP build. Fail on too-young SWIG.
862+ AS_IF([test "x$SWIG_CAN_BUILD_PHP" != "xyes"],
863+ [AC_MSG_ERROR("Your version of SWIG is too young to build NDB/PHP. >=1.3.33 is required!")])
864+ AS_IF([test "x$with_php" != "xyes"],
865+ [ac_check_php_config=$with_php],
866+ [ac_check_php_config="php-config php-config5"])
867+ AC_CHECK_PROGS(PHP_CONFIG, [$ac_check_php_config])
868+ ])
869+
870+ AS_IF([test "x$PHP_CONFIG" != "x"],[
871+ PHP_CFLAGS=`$PHP_CONFIG --includes`
872+ PHP_CPPFLAGS=`$PHP_CONFIG --includes`
873+ PHP_LDFLAGS=`$PHP_CONFIG --ldflags`
874+ PHP_EXTDIR=`$PHP_CONFIG --extension-dir`
875+ strip_php_prefix=`$PHP_CONFIG --prefix | sed 's/\//./g'`
876+ PHP_ARCH_DIR=`echo $PHP_EXTDIR | sed "s/$strip_php_prefix//"`
877+ ],[
878+ PHP_CFLAGS=
879+ PHP_CPPFLAGS=
880+ PHP_LDFLAGS=
881+ PHP_EXTDIR=
882+ PHP_ARCH_DIR=
883+ with_php=no
884+ ])
885+
886+ AC_SUBST(PHP_CFLAGS)
887+ AC_SUBST(PHP_CPPFLAGS)
888+ AC_SUBST(PHP_LDFLAGS)
889+ AC_SUBST(PHP_EXTDIR)
890+ AC_SUBST(PHP_ARCH_DIR)
891+
892+ AM_CONDITIONAL(BUILD_PHP, test "$with_php" = "yes")
893+
894+])
895+
896
897=== added file 'm4/pandora_with_python.m4'
898--- m4/pandora_with_python.m4 1970-01-01 00:00:00 +0000
899+++ m4/pandora_with_python.m4 2009-08-10 21:04:49 +0000
900@@ -0,0 +1,28 @@
901+dnl -*- mode: m4; c-basic-offset: 2; indent-tabs-mode: nil; -*-
902+dnl vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
903+dnl
904+dnl pandora-build: A pedantic build system
905+dnl Copyright (C) 2009 Sun Microsystems, Inc.
906+dnl This file is free software; the Free Software Foundation
907+dnl gives unlimited permission to copy and/or distribute it,
908+dnl with or without modifications, as long as this notice is preserved.
909+dnl
910+dnl From Monty Taylor
911+
912+
913+AC_DEFUN([PANDORA_WITH_PYTHON], [
914+
915+ AC_ARG_WITH([python],
916+ [AS_HELP_STRING([--with-python],
917+ [Build Python Bindings @<:@default=yes@:>@])],
918+ [with_python=$withval],
919+ [with_python=yes])
920+
921+ AS_IF([test "x$with_python" != "xno"],[
922+ AS_IF([test "x$with_python" != "xyes"],[PYTHON=$with_python])
923+ AM_PATH_PYTHON([2.4],,[with_python="no"])
924+ AC_PYTHON_DEVEL()
925+ AS_IF([test "x$pythonexists" = "xno"],[with_python="no"])
926+ ])
927+ AM_CONDITIONAL(BUILD_PYTHON, [test "$with_python" = "yes"])
928+])
929
930=== added file 'm4/pandora_with_python3.m4'
931--- m4/pandora_with_python3.m4 1970-01-01 00:00:00 +0000
932+++ m4/pandora_with_python3.m4 2009-08-10 21:04:49 +0000
933@@ -0,0 +1,35 @@
934+dnl -*- mode: m4; c-basic-offset: 2; indent-tabs-mode: nil; -*-
935+dnl vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
936+dnl
937+dnl pandora-build: A pedantic build system
938+dnl Copyright (C) 2009 Sun Microsystems, Inc.
939+dnl This file is free software; the Free Software Foundation
940+dnl gives unlimited permission to copy and/or distribute it,
941+dnl with or without modifications, as long as this notice is preserved.
942+dnl
943+dnl From Monty Taylor
944+
945+AC_DEFUN([PANDORA_WITH_PYTHON3], [
946+
947+ AC_REQUIRE([PANDORA_SWIG])
948+
949+ AC_ARG_WITH([python3],
950+ [AS_HELP_STRING([--with-python3],
951+ [Build Python3 Bindings @<:@default=yes@:>@])],
952+ [with_python3=$withval],
953+ [with_python3=yes])
954+
955+ AS_IF([test "x$ac_cv_swig_has_python3_" != "xno"],[
956+ AS_IF([test "x$with_python3" != "xno"],[
957+ AS_IF([test "x$with_python3" != "xyes"],
958+ [PYTHON3=$with_python3],
959+ [AC_PATH_PROG([PYTHON3],[python3],[no])
960+ AS_IF([test "x$PYTHON3" = "xno"],
961+ [with_python3=no])
962+ ])
963+ ])
964+ ],[
965+ with_python3=no
966+ ])
967+AM_CONDITIONAL(BUILD_PYTHON3, [test "$with_python3" = "yes"])
968+])
969
970=== added file 'm4/pandora_with_r.m4'
971--- m4/pandora_with_r.m4 1970-01-01 00:00:00 +0000
972+++ m4/pandora_with_r.m4 2009-08-10 21:04:49 +0000
973@@ -0,0 +1,33 @@
974+dnl -*- mode: m4; c-basic-offset: 2; indent-tabs-mode: nil; -*-
975+dnl vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
976+dnl
977+dnl pandora-build: A pedantic build system
978+dnl Copyright (C) 2009 Sun Microsystems, Inc.
979+dnl This file is free software; the Free Software Foundation
980+dnl gives unlimited permission to copy and/or distribute it,
981+dnl with or without modifications, as long as this notice is preserved.
982+dnl
983+dnl From Monty Taylor
984+
985+AC_DEFUN([PANDORA_WITH_R],[
986+ dnl Check for GNU R
987+ AC_ARG_WITH([r],
988+ [AS_HELP_STRING([--with-r],
989+ [Build R Bindings @<:@default=yes@:>@])],
990+ [with_r=$withval],
991+ [with_r=yes])
992+
993+ AS_IF([test "x$with_r" != "xno"],[
994+
995+ PKG_CHECK_MODULES([R], [libR], [
996+ with_r=yes
997+ ],[
998+ with_r=no
999+ ])
1000+
1001+ AC_SUBST(R_CFLAGS)
1002+ AC_SUBST(R_LIBS)
1003+ ])
1004+ AM_CONDITIONAL(BUILD_R, test "$with_r" = "yes")
1005+
1006+])
1007
1008=== added file 'm4/pandora_with_ruby.m4'
1009--- m4/pandora_with_ruby.m4 1970-01-01 00:00:00 +0000
1010+++ m4/pandora_with_ruby.m4 2009-08-10 21:04:49 +0000
1011@@ -0,0 +1,79 @@
1012+dnl -*- mode: m4; c-basic-offset: 2; indent-tabs-mode: nil; -*-
1013+dnl vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
1014+dnl
1015+dnl pandora-build: A pedantic build system
1016+dnl Copyright (C) 2009 Sun Microsystems, Inc.
1017+dnl This file is free software; the Free Software Foundation
1018+dnl gives unlimited permission to copy and/or distribute it,
1019+dnl with or without modifications, as long as this notice is preserved.
1020+dnl
1021+dnl From Monty Taylor
1022+
1023+
1024+AC_DEFUN([PANDORA_WITH_RUBY], [
1025+
1026+ AC_ARG_WITH([ruby],
1027+ [AS_HELP_STRING([--with-ruby],
1028+ [Build Ruby Bindings @<:@default=yes@:>@])],
1029+ [with_ruby=$withval],
1030+ [with_ruby=ruby])
1031+
1032+ AS_IF([test "x$with_ruby" != "xno"],[
1033+ AS_IF([test "x$with_ruby" != "xyes"],
1034+ [ac_chk_ruby=$with_ruby],
1035+ [ac_chk_ruby=ruby1.8 ruby])
1036+ AC_CHECK_PROGS(RUBY,$ac_chk_ruby)
1037+ ])
1038+
1039+ AS_IF([test "x$RUBY" != "x"],[
1040+
1041+ AC_MSG_CHECKING(for ruby devel)
1042+
1043+ dnl need to change quotes to allow square brackets
1044+ changequote(<<, >>)dnl
1045+ ruby_prefix=`$RUBY -rrbconfig -e "print Config::CONFIG['archdir']"`
1046+ strip_ruby_prefix=`$RUBY -rrbconfig -e "print Config::CONFIG['prefix']" | sed 's/\//./g'`
1047+
1048+ RUBY_LIB=`$RUBY -rrbconfig -e "puts Config::CONFIG['ruby_install_name']"`
1049+ LIBRUBYARG_SHARED=`$RUBY -rrbconfig -e "puts Config::CONFIG['LIBRUBYARG_SHARED']"`
1050+ RUBY_DIR=`$RUBY -rrbconfig -e "puts Config::CONFIG['archdir']"`
1051+ RUBY_ARCH_DIR=`echo $RUBY_DIR | sed "s/$strip_ruby_prefix//"`
1052+ RUBY_LIBDIR=`$RUBY -rrbconfig -e "puts Config::CONFIG['rubylibdir']"`
1053+ RUBY_INCLUDES="-I$ruby_prefix"
1054+ changequote([, ])dnl
1055+
1056+ ac_save_CFLAGS="$CFLAGS"
1057+ ac_save_CPPFLAGS="$CPPFLAGS"
1058+ ac_save_LDFLAGS="$LDFLAGS"
1059+ CFLAGS="$ac_save_CFLAGS $RUBY_INCLUDES"
1060+ CPPFLAGS="$ac_save_CPPFLAGS $RUBY_INCLUDES"
1061+ LDFLAGS="$ac_save_LDFLAGS $LIBRUBYARG_SHARED"
1062+
1063+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <ruby.h>]], [[VALUE rb_ac_test = rb_define_module("actest");]])],[with_ruby="yes";AC_MSG_RESULT(found)],[with_ruby="no";AC_MSG_RESULT(missing)])
1064+
1065+ CPPFLAGS="$ac_save_CPPFLAGS"
1066+ CFLAGS="$ac_save_CFLAGS"
1067+ LDFLAGS="$ac_save_LDFLAGS"
1068+ ],[
1069+ # This allows 'make clean' in the ruby directory to work when
1070+ # ruby isn't available
1071+ RUBY=
1072+ RUBY_INCLUDES=
1073+ LIBRUBYARG_SHARED=
1074+ RUBY_LIB=
1075+ RUBY_DIR=
1076+ RUBY_LIBDIR=
1077+ RUBY_ARCH_DIR=
1078+ with_ruby="no"
1079+ ])
1080+
1081+ AC_SUBST(RUBY_INCLUDES)
1082+ AC_SUBST(LIBRUBYARG_SHARED)
1083+ AC_SUBST(RUBY_LIB)
1084+ AC_SUBST(RUBY_DIR)
1085+ AC_SUBST(RUBY_LIBDIR)
1086+ AC_SUBST(RUBY_ARCH_DIR)
1087+
1088+ AS_IF([test "x$RUBY_DIR" = "x"],[with_ruby="no"])
1089+ AM_CONDITIONAL(BUILD_RUBY, test "$with_ruby" = "yes")
1090+])
1091
1092=== added file 'm4/pkg.m4'
1093--- m4/pkg.m4 1970-01-01 00:00:00 +0000
1094+++ m4/pkg.m4 2009-08-10 21:04:49 +0000
1095@@ -0,0 +1,157 @@
1096+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
1097+#
1098+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
1099+#
1100+# This program is free software; you can redistribute it and/or modify
1101+# it under the terms of the GNU General Public License as published by
1102+# the Free Software Foundation; either version 2 of the License, or
1103+# (at your option) any later version.
1104+#
1105+# This program is distributed in the hope that it will be useful, but
1106+# WITHOUT ANY WARRANTY; without even the implied warranty of
1107+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1108+# General Public License for more details.
1109+#
1110+# You should have received a copy of the GNU General Public License
1111+# along with this program; if not, write to the Free Software
1112+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
1113+#
1114+# As a special exception to the GNU General Public License, if you
1115+# distribute this file as part of a program that contains a
1116+# configuration script generated by Autoconf, you may include it under
1117+# the same distribution terms that you use for the rest of that program.
1118+
1119+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
1120+# ----------------------------------
1121+AC_DEFUN([PKG_PROG_PKG_CONFIG],
1122+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
1123+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
1124+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
1125+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
1126+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
1127+fi
1128+if test -n "$PKG_CONFIG"; then
1129+ _pkg_min_version=m4_default([$1], [0.9.0])
1130+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
1131+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
1132+ AC_MSG_RESULT([yes])
1133+ else
1134+ AC_MSG_RESULT([no])
1135+ PKG_CONFIG=""
1136+ fi
1137+
1138+fi[]dnl
1139+])# PKG_PROG_PKG_CONFIG
1140+
1141+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
1142+#
1143+# Check to see whether a particular set of modules exists. Similar
1144+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
1145+#
1146+#
1147+# Similar to PKG_CHECK_MODULES, make sure that the first instance of
1148+# this or PKG_CHECK_MODULES is called, or make sure to call
1149+# PKG_CHECK_EXISTS manually
1150+# --------------------------------------------------------------
1151+AC_DEFUN([PKG_CHECK_EXISTS],
1152+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
1153+if test -n "$PKG_CONFIG" && \
1154+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
1155+ m4_ifval([$2], [$2], [:])
1156+m4_ifvaln([$3], [else
1157+ $3])dnl
1158+fi])
1159+
1160+
1161+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
1162+# ---------------------------------------------
1163+m4_define([_PKG_CONFIG],
1164+[if test -n "$PKG_CONFIG"; then
1165+ if test -n "$$1"; then
1166+ pkg_cv_[]$1="$$1"
1167+ else
1168+ PKG_CHECK_EXISTS([$3],
1169+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
1170+ [pkg_failed=yes])
1171+ fi
1172+else
1173+ pkg_failed=untried
1174+fi[]dnl
1175+])# _PKG_CONFIG
1176+
1177+# _PKG_SHORT_ERRORS_SUPPORTED
1178+# -----------------------------
1179+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
1180+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
1181+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
1182+ _pkg_short_errors_supported=yes
1183+else
1184+ _pkg_short_errors_supported=no
1185+fi[]dnl
1186+])# _PKG_SHORT_ERRORS_SUPPORTED
1187+
1188+
1189+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
1190+# [ACTION-IF-NOT-FOUND])
1191+#
1192+#
1193+# Note that if there is a possibility the first call to
1194+# PKG_CHECK_MODULES might not happen, you should be sure to include an
1195+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
1196+#
1197+#
1198+# --------------------------------------------------------------
1199+AC_DEFUN([PKG_CHECK_MODULES],
1200+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
1201+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
1202+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
1203+
1204+pkg_failed=no
1205+AC_MSG_CHECKING([for $1])
1206+
1207+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
1208+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
1209+
1210+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
1211+and $1[]_LIBS to avoid the need to call pkg-config.
1212+See the pkg-config man page for more details.])
1213+
1214+if test $pkg_failed = yes; then
1215+ _PKG_SHORT_ERRORS_SUPPORTED
1216+ if test $_pkg_short_errors_supported = yes; then
1217+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
1218+ else
1219+ $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
1220+ fi
1221+ # Put the nasty error message in config.log where it belongs
1222+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
1223+
1224+ ifelse([$4], , [AC_MSG_ERROR(dnl
1225+[Package requirements ($2) were not met:
1226+
1227+$$1_PKG_ERRORS
1228+
1229+Consider adjusting the PKG_CONFIG_PATH environment variable if you
1230+installed software in a non-standard prefix.
1231+
1232+_PKG_TEXT
1233+])],
1234+ [AC_MSG_RESULT([no])
1235+ $4])
1236+elif test $pkg_failed = untried; then
1237+ ifelse([$4], , [AC_MSG_FAILURE(dnl
1238+[The pkg-config script could not be found or is too old. Make sure it
1239+is in your PATH or set the PKG_CONFIG environment variable to the full
1240+path to pkg-config.
1241+
1242+_PKG_TEXT
1243+
1244+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
1245+ [$4])
1246+else
1247+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
1248+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
1249+ AC_MSG_RESULT([yes])
1250+ ifelse([$3], , :, [$3])
1251+fi[]dnl
1252+])# PKG_CHECK_MODULES

Subscribers

People subscribed via source and target branches

to all changes: