mirror of
https://github.com/espressif/openthread.git
synced 2026-08-14 22:57:46 +00:00
Update nlbuild-autotools to v1.4. (#1905)
1.4 (2017-06-15)
* Remove package archives and prebuilt in-package binaries.
* Ensure that GNU tool build process is completely self-sufficient
and has no dependencies on installed host binaries.
* Add support for generating versioned core and prebuilt package binary
distirubtions.
* Ensure that 'bootstrap' can work with either prebuilt in-package
binaries or with installed host binaries.
This commit is contained in:
@@ -0,0 +1 @@
|
||||
1.4
|
||||
@@ -0,0 +1 @@
|
||||
.local-version
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
1.4 (2017-06-15)
|
||||
|
||||
* Remove package archives and prebuilt in-package binaries.
|
||||
* Ensure that GNU tool build process is completely self-sufficient
|
||||
and has no dependencies on installed host binaries.
|
||||
* Add support for generating versioned core and prebuilt package binary
|
||||
distirubtions.
|
||||
* Ensure that 'bootstrap' can work with either prebuilt in-package
|
||||
binaries or with installed host binaries.
|
||||
|
||||
1.3.1 (2017-05-10)
|
||||
|
||||
* Specify the correct m4 URL.
|
||||
|
||||
1.3 (2016-12-05)
|
||||
|
||||
* Added the support for detection of supported C++ version.
|
||||
|
||||
1.2.2 (2016-08-29)
|
||||
|
||||
* Use the arguments passed, as designed and intended, to
|
||||
NL_PROG_LNDIR rather than hard-coded values for the GNU cp
|
||||
fallback.
|
||||
|
||||
1.2.1 (2016-07-13)
|
||||
|
||||
* Make the 'pretty' and 'pretty-check' targets dependent on
|
||||
$(PRETTY_FILES) and then iterate on a filtered version of $(^) so
|
||||
that make's VPATH engine can be leveraged to find sources and
|
||||
headers that are not in directly stat-able paths listed in
|
||||
$(PRETTY_FILES).
|
||||
|
||||
1.2 (2016-06-01)
|
||||
|
||||
* Added support for coding style formatting and checking targets.
|
||||
|
||||
1.1.2 (2016-03-19)
|
||||
|
||||
* Improve the code coverage generation process to cover an entire
|
||||
project's source.
|
||||
|
||||
1.1.1 (2015-12-10)
|
||||
|
||||
* Properly handle package optionality when using pkg-config to
|
||||
detect external packages.
|
||||
|
||||
1.1 (2015-11-10)
|
||||
|
||||
* Added support for a recursive 'install-headers' target to allow
|
||||
packages that wish to leverage it to install their public headers
|
||||
and only their public headers to DESTDIR on 'make install-headers'
|
||||
without performing any additional build actions.
|
||||
|
||||
1.0.1 (2015-10-27)
|
||||
|
||||
* Refactored NL_WITH_PACKAGE into NL_WITH_REQUIRED_EXTERNAL_PACKAGE,
|
||||
NL_WITH_OPTIONAL_EXTERNAL_PACKAGE, NL_WITH_REQUIRED_INTERNAL_PACKAGE,
|
||||
and NL_WITH_OPTIONAL_INTERNAL_PACKAGE.
|
||||
|
||||
1.0 (2015-03-19)
|
||||
|
||||
* Initial revision with GNU m4 1.4.17, autoconf 2.68, automake 1.14.1,
|
||||
libtool 2.4.2, make 3.82, and coreutils 8.21.
|
||||
+129
@@ -0,0 +1,129 @@
|
||||
#
|
||||
# Copyright 2017 Nest Labs Inc. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
#
|
||||
# Description:
|
||||
# This make file header defines common variables, rules, and
|
||||
# targets for maintaining nlbuild-autotools distributions.
|
||||
#
|
||||
|
||||
.DEFAULT_GOAL = all
|
||||
|
||||
#
|
||||
# This package
|
||||
#
|
||||
PACKAGE := nlbuild-autotools
|
||||
|
||||
#
|
||||
# Tools
|
||||
#
|
||||
CAT ?= cat
|
||||
CHMOD ?= chmod
|
||||
CMP ?= cmp
|
||||
FIND ?= find
|
||||
GZIP ?= gzip
|
||||
MKDIR ?= mkdir
|
||||
MV ?= mv
|
||||
RM ?= rm
|
||||
SED ?= sed
|
||||
TAR ?= tar
|
||||
XZ ?= xz
|
||||
|
||||
dist_tar_ARCHIVE = $(TAR) -chof -
|
||||
|
||||
dist_tgz_ARCHIVE = $(dist_tar_ARCHIVE)
|
||||
dist_tgz_COMPRESS = $(GZIP) --best -c
|
||||
|
||||
dist_txz_ARCHIVE = $(dist_tar_ARCHIVE)
|
||||
dist_txz_COMPRESS = $(XZ) --extreme -c
|
||||
|
||||
TGZ_EXTENSION := .tar.gz
|
||||
TXZ_EXTENSION := .tar.xz
|
||||
|
||||
DIST_TARGETS ?= dist-tgz dist-txz
|
||||
DIST_ARCHIVES = $(dist_tgz_TARGETS) $(dist_txz_TARGETS)
|
||||
|
||||
#
|
||||
# Verbosity
|
||||
#
|
||||
|
||||
NL_DEFAULT_VERBOSITY = 0
|
||||
|
||||
NL_V_AT = $(NL_V_AT_$(V))
|
||||
NL_V_AT_ = $(NL_V_AT_$(NL_DEFAULT_VERBOSITY))
|
||||
NL_V_AT_0 = @
|
||||
NL_V_AT_1 =
|
||||
|
||||
NL_V_MAKE = $(NL_V_MAKE_$(V))
|
||||
NL_V_MAKE_ = $(NL_V_MAKE_$(NL_DEFAULT_VERBOSITY))
|
||||
NL_V_MAKE_0 = @echo " MAKE $(@)";
|
||||
NL_V_MAKE_1 =
|
||||
|
||||
NL_V_MKDIR_P = $(NL_V_MKDIR_P_$(V))
|
||||
NL_V_MKDIR_P_ = $(NL_V_MKDIR_P_$(NL_DEFAULT_VERBOSITY))
|
||||
NL_V_MKDIR_P_0 = @echo " MKDIR $(1)";
|
||||
NL_V_MKDIR_P_1 =
|
||||
|
||||
NL_V_RMDIR = $(NL_V_RMDIR_$(V))
|
||||
NL_V_RMDIR_ = $(NL_V_RMDIR_$(NL_DEFAULT_VERBOSITY))
|
||||
NL_V_RMDIR_0 = @echo " RMDIR $(1)";
|
||||
NL_V_RMDIR_1 =
|
||||
|
||||
NL_V_TGZ = $(NL_V_TGZ_$(V))
|
||||
NL_V_TGZ_ = $(NL_V_TGZ_$(NL_DEFAULT_VERBOSITY))
|
||||
NL_V_TGZ_0 = @echo " TGZ $(@)";
|
||||
NL_V_TGZ_1 =
|
||||
|
||||
NL_V_TXZ = $(NL_V_TXZ_$(V))
|
||||
NL_V_TXZ_ = $(NL_V_TXZ_$(NL_DEFAULT_VERBOSITY))
|
||||
NL_V_TXZ_0 = @echo " TXZ $(@)";
|
||||
NL_V_TXZ_1 =
|
||||
|
||||
#
|
||||
# nl-create-dir <directory>
|
||||
#
|
||||
# Create the specified directory, including any parent directories
|
||||
# that may not exist.
|
||||
#
|
||||
define nl-create-dir
|
||||
$(NL_V_AT)echo " MKDIR $(1)"; \
|
||||
$(MKDIR) -p "$(1)"
|
||||
endef # nl-create-dir
|
||||
|
||||
#
|
||||
# nl-remove-dir <directory>
|
||||
#
|
||||
# If the specified directory exists, then ensure all of the
|
||||
# directories are writable by the current user, and then forcibly
|
||||
# remove the directory and all of its contents, sleeping for five (5)
|
||||
# seconds and failure before trying the removal again.
|
||||
#
|
||||
define nl-remove-dir
|
||||
$(NL_V_RMDIR) \
|
||||
if [ -d "$(1)" ]; then \
|
||||
$(FIND) "$(1)" -type d ! -perm -200 -exec $(CHMOD) u+w {} ';' \
|
||||
&& $(RM) -rf "$(1)" \
|
||||
|| { sleep 5 && $(RM) -rf "$(1)"; }; \
|
||||
fi
|
||||
endef # nl-remove-dir
|
||||
|
||||
clean-local:
|
||||
$(NL_V_AT)$(RM) -f *~ "#"*
|
||||
|
||||
help:
|
||||
@echo "This make file shold not be needed for end users and system "
|
||||
@echo "integrators of $(PACKAGE). It should only be needed by "
|
||||
@echo "maintainers producing distributions of $(PACKAGE)."
|
||||
+86
@@ -0,0 +1,86 @@
|
||||
.default-version
|
||||
.gitignore
|
||||
CHANGES
|
||||
CONTRIBUTING.md
|
||||
LICENSE
|
||||
MANIFEST
|
||||
Makefile
|
||||
README.md
|
||||
autoconf/ar-lib
|
||||
autoconf/compile
|
||||
autoconf/config.guess
|
||||
autoconf/config.sub
|
||||
autoconf/depcomp
|
||||
autoconf/install-sh
|
||||
autoconf/ltmain.sh
|
||||
autoconf/m4/ax_check_compiler.m4
|
||||
autoconf/m4/ax_check_file.m4
|
||||
autoconf/m4/ax_check_preprocessor.m4
|
||||
autoconf/m4/ax_compare_version.m4
|
||||
autoconf/m4/ax_cxx_compile_stdcxx.m4
|
||||
autoconf/m4/ax_cxx_compile_stdcxx_0x.m4
|
||||
autoconf/m4/ax_cxx_compile_stdcxx_11.m4
|
||||
autoconf/m4/ax_cxx_compile_stdcxx_14.m4
|
||||
autoconf/m4/ax_jni_include_dir.m4
|
||||
autoconf/m4/ax_prog_doxygen.m4
|
||||
autoconf/m4/ax_pthread.m4
|
||||
autoconf/m4/libtool.m4
|
||||
autoconf/m4/ltoptions.m4
|
||||
autoconf/m4/ltsugar.m4
|
||||
autoconf/m4/ltversion.m4
|
||||
autoconf/m4/lt~obsolete.m4
|
||||
autoconf/m4/nl_enable_coverage.m4
|
||||
autoconf/m4/nl_enable_coverage_reporting.m4
|
||||
autoconf/m4/nl_enable_debug.m4
|
||||
autoconf/m4/nl_enable_docs.m4
|
||||
autoconf/m4/nl_enable_optimization.m4
|
||||
autoconf/m4/nl_enable_tests.m4
|
||||
autoconf/m4/nl_enable_werror.m4
|
||||
autoconf/m4/nl_filtered_canonical.m4
|
||||
autoconf/m4/nl_prog_lndir.m4
|
||||
autoconf/m4/nl_werror.m4
|
||||
autoconf/m4/nl_with_package.m4
|
||||
autoconf/m4/pkg.m4
|
||||
autoconf/missing
|
||||
autoconf/mkinstalldirs
|
||||
autoconf/py-compile
|
||||
autoconf/test-driver
|
||||
automake/post.am
|
||||
automake/post/rules.am
|
||||
automake/post/rules/coverage.am
|
||||
automake/post/rules/headers.am
|
||||
automake/post/rules/pretty.am
|
||||
automake/pre.am
|
||||
automake/pre/macros.am
|
||||
automake/pre/macros/constants.am
|
||||
automake/pre/macros/coverage.am
|
||||
automake/pre/macros/paths.am
|
||||
automake/pre/macros/pretty.am
|
||||
automake/pre/macros/subdirs.am
|
||||
automake/pre/macros/verbosity.am
|
||||
etc/lcov.config
|
||||
examples/Doxyfile.in
|
||||
examples/Makefile-doc.am
|
||||
examples/Makefile-fps.am
|
||||
examples/Makefile-src.am
|
||||
examples/Makefile-tests.am
|
||||
examples/Makefile-toplevel.am
|
||||
examples/bootstrap
|
||||
examples/configure.ac
|
||||
scripts/bootstrap
|
||||
scripts/bootstrap-configure
|
||||
scripts/mkskeleton
|
||||
scripts/mkversion
|
||||
tools/packages/autoconf/autoconf.url
|
||||
tools/packages/autoconf/autoconf.version
|
||||
tools/packages/automake/automake.url
|
||||
tools/packages/automake/automake.version
|
||||
tools/packages/coreutils/coreutils.url
|
||||
tools/packages/coreutils/coreutils.version
|
||||
tools/packages/libtool/libtool.url
|
||||
tools/packages/libtool/libtool.version
|
||||
tools/packages/m4/m4.url
|
||||
tools/packages/m4/m4.version
|
||||
tools/packages/make/make.url
|
||||
tools/packages/make/make.version
|
||||
|
||||
+225
@@ -0,0 +1,225 @@
|
||||
#
|
||||
# Copyright 2017 Nest Labs Inc. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
#
|
||||
# Description:
|
||||
# This make file supports generating distributions of
|
||||
# nlbuild-autotools.
|
||||
#
|
||||
|
||||
include Common.mak
|
||||
|
||||
#
|
||||
# Build directories
|
||||
#
|
||||
|
||||
builddir := .
|
||||
top_builddir := .
|
||||
abs_builddir := $(CURDIR)
|
||||
abs_top_builddir := $(CURDIR)
|
||||
|
||||
#
|
||||
# Source directories
|
||||
#
|
||||
|
||||
srcdir := .
|
||||
top_srcdir := .
|
||||
abs_srcdir := $(CURDIR)
|
||||
abs_top_srcdir := $(CURDIR)
|
||||
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
|
||||
dist_tgz_TARGETS = $(distdir)$(TGZ_EXTENSION)
|
||||
dist_txz_TARGETS = $(distdir)$(TXZ_EXTENSION)
|
||||
|
||||
DISTFILES := $(shell $(CAT) MANIFEST)
|
||||
|
||||
#
|
||||
# Package version files:
|
||||
#
|
||||
# .default-version - The default package version. This file is ALWAYS checked
|
||||
# in and should always represent the current baseline
|
||||
# version of the package.
|
||||
#
|
||||
# .dist-version - The distributed package version. This file is NEVER
|
||||
# checked in within the upstream repository, is auto-
|
||||
# generated, and is only found in the package distribution.
|
||||
#
|
||||
# .local-version - The current source code controlled package version. This
|
||||
# file is NEVER checked in within the upstream repository,
|
||||
# is auto-generated, and can always be found in both the
|
||||
# build tree and distribution.
|
||||
#
|
||||
# When present, the .local-version file is preferred first, the
|
||||
# .dist-version second, and the .default-version last.
|
||||
#
|
||||
|
||||
VERSION_FILE := $(if $(wildcard $(builddir)/.local-version),$(builddir)/.local-version,$(if $(wildcard $(srcdir)/.dist-version),$(srcdir)/.dist-version,$(srcdir)/.default-version))
|
||||
|
||||
PACKAGE_VERSION ?= $(shell $(CAT) $(VERSION_FILE) 2> /dev/null)
|
||||
|
||||
VERSION = $(PACKAGE_VERSION)
|
||||
|
||||
#
|
||||
# Verbosity
|
||||
#
|
||||
_NL_V_COPY = $(_NL_V_COPY_$(V))
|
||||
_NL_V_COPY_ = $(_NL_V_COPY_$(NL_DEFAULT_VERBOSITY))
|
||||
_NL_V_COPY_0 = @for file in $(DISTFILES); do echo " COPY $${file}"; done;
|
||||
_NL_V_COPY_1 =
|
||||
|
||||
_NL_V_MAKE = $(_NL_V_MAKE_$(V))
|
||||
_NL_V_MAKE_ = $(_NL_V_MAKE_$(NL_DEFAULT_VERBOSITY))
|
||||
_NL_V_MAKE_0 = @echo " MAKE dist-hook";
|
||||
_NL_V_MAKE_1 =
|
||||
|
||||
#
|
||||
# check-file <macro suffix>
|
||||
#
|
||||
# Check whether a file, referenced by the $(@) variable, should be
|
||||
# updated / regenerated based on its dependencies, referenced by the
|
||||
# $(<) variable by running the make macro check-file-<macro suffix>.
|
||||
#
|
||||
# The $(<) is passed as the first argument if the macro wants to process
|
||||
# it and the prospective new output file, which the macro MUST
|
||||
# generate, as the second.
|
||||
#
|
||||
# This macro will ensure that any required parent directories are created
|
||||
# prior to invoking check-file-<macro suffix>.
|
||||
#
|
||||
# This macro is similar to and inspired by that from Linux Kbuild and
|
||||
# elsewhere.
|
||||
#
|
||||
# <macro suffix> - The name, suffixed to "check-file-", which indicates
|
||||
# the make macro to invoke.
|
||||
#
|
||||
#
|
||||
define check-file
|
||||
$(NL_V_AT)set -e; \
|
||||
echo ' CHECK $(@)'; \
|
||||
$(MKDIR) -p $(dir $(@)); \
|
||||
$(call check-file-$(1),$(<),$(@).N); \
|
||||
if [ -r "$(@)" ] && $(CMP) -s "$(@)" "$(@).N"; then \
|
||||
$(RM) -f "$(@).N"; \
|
||||
else \
|
||||
echo ' GEN $(@)'; \
|
||||
$(MV) -f "$(@).N" "$(@)"; \
|
||||
fi
|
||||
endef # check-file
|
||||
|
||||
#
|
||||
# check-file-.local-version
|
||||
#
|
||||
# Speculatively regenerate .local-version and check to see if it needs
|
||||
# to be updated.
|
||||
#
|
||||
# If PACKAGE_VERSION has been supplied anywhere other than in this file
|
||||
# (which is implicitly the contents of .local-version), then use that;
|
||||
# otherwise, attempt to generate it from the SCM system.
|
||||
#
|
||||
# This is called from $(call check-file,.local-version).
|
||||
#
|
||||
define check-file-.local-version
|
||||
if [ "$(origin PACKAGE_VERSION)" != "file" ]; then \
|
||||
echo "$(PACKAGE_VERSION)" > "$(2)"; \
|
||||
else \
|
||||
$(abs_top_srcdir)/scripts/mkversion \
|
||||
-b "$(PACKAGE_VERSION)" "$(top_srcdir)" \
|
||||
> "$(2)"; \
|
||||
fi
|
||||
endef
|
||||
|
||||
#
|
||||
# check-file-.dist-version
|
||||
#
|
||||
# Speculatively regenerate .dist-version and check to see if it needs
|
||||
# to be updated.
|
||||
#
|
||||
# This is called from $(call check-file,.dist-version).
|
||||
#
|
||||
define check-file-.dist-version
|
||||
$(CAT) "$(1)" > "$(2)"
|
||||
endef
|
||||
|
||||
#
|
||||
# Version file regeneration rules.
|
||||
#
|
||||
.PHONY: force
|
||||
|
||||
$(builddir)/.local-version: $(srcdir)/.default-version force
|
||||
|
||||
$(distdir)/.dist-version: $(builddir)/.local-version force
|
||||
|
||||
$(distdir)/.dist-version $(builddir)/.local-version:
|
||||
$(call check-file,$(@F))
|
||||
|
||||
all: .local-version
|
||||
|
||||
dist-hook: $(distdir)/.dist-version
|
||||
|
||||
#
|
||||
# Stage the distribution files to a distribution directory
|
||||
#
|
||||
stage: $(DISTFILES) .local-version
|
||||
$(call nl-remove-dir,$(distdir))
|
||||
$(call nl-create-dir,$(distdir))
|
||||
$(_NL_V_MAKE)$(MAKE) -s distdir="$(distdir)" dist-hook
|
||||
$(_NL_V_COPY)(cd $(abs_top_srcdir); $(dist_tar_ARCHIVE) $(DISTFILES) | (cd $(abs_builddir)/$(distdir); $(TAR) xfBp -))
|
||||
|
||||
#
|
||||
# Produce an architecture-independent distribution using a tar archive
|
||||
# with gzip compression
|
||||
#
|
||||
$(dist_tgz_TARGETS): stage
|
||||
$(NL_V_TGZ)$(dist_tgz_ARCHIVE) $(distdir) | $(dist_tgz_COMPRESS) > "$(@)"
|
||||
|
||||
#
|
||||
# Produce an architecture-independent distribution using a tar archive
|
||||
# with xz compression
|
||||
#
|
||||
$(dist_txz_TARGETS): stage
|
||||
$(NL_V_TXZ)$(dist_txz_ARCHIVE) $(distdir) | $(dist_txz_COMPRESS) > "$(@)"
|
||||
|
||||
#
|
||||
# Produce an architecture-independent distribution of the
|
||||
# nlbuild-autotools core.
|
||||
#
|
||||
dist: $(DIST_TARGETS) .local-version
|
||||
$(call nl-remove-dir,$(distdir))
|
||||
|
||||
dist-tgz: $(dist_tgz_TARGETS)
|
||||
|
||||
dist-txz: $(dist_txz_TARGETS)
|
||||
|
||||
#
|
||||
# Produce prebuilt GNU autotools binaries for the architecture of the
|
||||
# CURRENT build machine and install them in THIS nlbuild-autotools
|
||||
# package.
|
||||
#
|
||||
.PHONY: tools
|
||||
tools:
|
||||
$(NL_V_MAKE)$(MAKE) -C tools $(@)
|
||||
|
||||
#
|
||||
# Produce prebuilt GNU autotools architecture-dependent and -independent
|
||||
# binaries for the architecture of the CURRENT build machine and PACKAGE
|
||||
# them up for EXTERNAL distribution.
|
||||
#
|
||||
toolsdist: .local-version
|
||||
$(NL_V_MAKE)$(MAKE) -C tools $(@)
|
||||
|
||||
clean: clean-local
|
||||
$(NL_V_MAKE)$(MAKE) -C tools $(@)
|
||||
+126
-51
@@ -1,32 +1,38 @@
|
||||
Nest Labs Build - GNU Autotools
|
||||
===============================
|
||||
|
||||
Introduction
|
||||
------------
|
||||
# Introduction
|
||||
|
||||
The Nest Labs Build - GNU Autotools (nlbuild-autotools) provides a
|
||||
customized, turnkey build system framework, based on GNU autotools, for
|
||||
standalone Nest Labs software packages that need to support not only
|
||||
building on and targeting against standalone build host systems but
|
||||
also embedded target systems using GCC-based or -compatible toolchains.
|
||||
standalone Nest Labs (or other) software packages that need to support
|
||||
not only building on and targeting against standalone build host
|
||||
systems but also embedded target systems using GCC-based or
|
||||
-compatible toolchains.
|
||||
|
||||
Getting Started
|
||||
---------------
|
||||
# Users and System Integrators
|
||||
|
||||
This project is typically subtreed into a target project repository
|
||||
and serves as the seed for that project's build system.
|
||||
## Getting Started
|
||||
|
||||
This project is typically subtreed (or git submoduled) into a target
|
||||
project repository and serves as the seed for that project's build
|
||||
system.
|
||||
|
||||
Assuming that you already have a project repository established in
|
||||
git, perform the following in your project repository:
|
||||
|
||||
> 1. % git remote add nlbuild-autotools ssh://<PATH_TO_REPOSITORY>/nlbuild-autotools.git
|
||||
> 2. % git fetch nlbuild-autotools
|
||||
```
|
||||
1. % git remote add nlbuild-autotools ssh://<PATH_TO_REPOSITORY>/nlbuild-autotools.git
|
||||
2. % git fetch nlbuild-autotools
|
||||
```
|
||||
|
||||
You can place the nlbuild-autotools package anywhere in your project;
|
||||
however, by convention, "third_party/nlbuild-autotools/repo" is recommended:
|
||||
|
||||
> 3. % mkdir third_party
|
||||
> 4. % git subtree add --prefix=third_party/nlbuild-autotools/repo --squash --message="Add subtree mirror of repository 'ssh://<PATH_TO_REPOSITORY>/nlbuild-autotools.git' branch 'master' at commit 'HEAD'." nlbuild-autotools HEAD
|
||||
```
|
||||
3. % mkdir third_party
|
||||
4. % git subtree add --prefix=third_party/nlbuild-autotools/repo --squash --message="Add subtree mirror of repository 'ssh://<PATH_TO_REPOSITORY>/nlbuild-autotools.git' branch 'master' at commit 'HEAD'." nlbuild-autotools HEAD
|
||||
```
|
||||
|
||||
At this point, you now have the nlbuild-autotools package integrated
|
||||
into your project. The next step is using the
|
||||
@@ -35,60 +41,75 @@ convenience script has been provided that will get you started. You
|
||||
can tune and customize the results, as needed, for your project. From
|
||||
the top level of your project tree:
|
||||
|
||||
> 5. % third_party/nlbuild-autotools/repo/scripts/mkskeleton -I third_party/nlbuild-autotools/repo --package-description "My Fantastic Package" --package-name "mfp"
|
||||
```
|
||||
5. % third_party/nlbuild-autotools/repo/scripts/mkskeleton -I third_party/nlbuild-autotools/repo --package-description "My Fantastic Package" --package-name "mfp"
|
||||
```
|
||||
|
||||
Supported Build Host Systems
|
||||
----------------------------
|
||||
## Supported Build Host Systems
|
||||
|
||||
The nlbuild-autotools system supports the following POSIX-based build
|
||||
host systems:
|
||||
For Linux users, you likely already have GNU autotools installed through your system's distribution (e.g. Ubuntu). However, if your GNU autotools packages are incomplete or downrevision relative to what's required from nlbuild-autotools, nlbuild-autotools can be built and installed or can be downloaded and expanded in your local nlbuild-autotools tree.
|
||||
|
||||
The nlbuild-autotools system supports and has been tested against the
|
||||
following POSIX-based build host systems:
|
||||
|
||||
* i686-pc-cygwin
|
||||
* i686-pc-linux-gnu
|
||||
* x86_64-apple-darwin
|
||||
* x86_64-unknown-linux-gnu
|
||||
|
||||
Support for these systems includes a set of pre-built, qualified
|
||||
versions of GNU autotools along with integration and automation
|
||||
scripts to run them.
|
||||
### Build and Install
|
||||
|
||||
If support is required for a new POSIX-compatible build host system,
|
||||
use the 'build' script in 'tools/packages' to unarchive, build, and
|
||||
install the tools for your system.
|
||||
Simply invoke `make tools` at the top-level of your nlbuild-autotools tree.
|
||||
|
||||
Please see the FAQ section for more background on why this package
|
||||
provides these pre-built tools.
|
||||
### Download and Expand
|
||||
|
||||
Package Organization
|
||||
--------------------
|
||||
Alongside nlbuild-autotools distributions are pre-built
|
||||
architecture-independent and -dependent distributions of the form:
|
||||
|
||||
* nlbuild-autotools-common-_version_.tar.{gz,xz}
|
||||
* nlbuild-autotools-_host_-_version_.tar.{gz,xz}
|
||||
|
||||
Find and download the appropriate pair of nlbuild-autotools-common and
|
||||
nlbuild-autotools-_host_ for your system and then expand them from the
|
||||
top-level of your nlbuild-autotools tree with a command similar to the
|
||||
following example:
|
||||
|
||||
```
|
||||
% tar --directory tools/host -zxvf nlbuild-autotools-common-1.1.tar.gz
|
||||
% tar --directory tools/host -zxvf nlbuild-autotools-x86_64-unknown-linux-gnu-1.1.tar.gz
|
||||
```
|
||||
|
||||
Please see the [FAQ](#FAQ) section for more background on why this package
|
||||
provides options for these pre-built tools.
|
||||
|
||||
## Package Organization
|
||||
|
||||
The nlbuild-autotools package is laid out as follows:
|
||||
|
||||
| Directory | Description |
|
||||
|-----------------------------------|------------------------------------------------------------------------------------------|
|
||||
| autoconf/ | GNU autoconf infrastructure provided by nlbuild-autotools. |
|
||||
| autoconf/m4/ | GNU m4 macros for configure.ac provided by nlbuild-autotools. |
|
||||
| automake/ | GNU automake Makefile.am header and footer infrastructure provided by nlbuild-autotools. |
|
||||
| automake/post/ | GNU automake Makefile.am footers. |
|
||||
| automake/post.am | GNU automake Makefile.am footer included by every makefile. |
|
||||
| automake/pre/ | GNU automake Makefile.am headers. |
|
||||
| automake/pre.am | GNU automake Makefile.am header included by every makefile. |
|
||||
| examples/ | Example template files for starting your own nlbuild-autotools-based project. |
|
||||
| scripts/ | Automation scripts for regenerating the build system and for managing package versions. |
|
||||
| tools/ | Qualified packages of and pre-built instances of GNU autotools. |
|
||||
| tools/host/ | Pre-built instances of GNU autotools. |
|
||||
| tools/host/i686-pc-cygwin/ | Pre-built instances of GNU autotools for 32-bit Cygwin. |
|
||||
| tools/host/i686-pc-linux-gnu/ | Pre-built instances of GNU autotools for 32-bit Linux. |
|
||||
| tools/host/x86_64-apple-darwin/ | Pre-built instances of GNU autotools for 64-bit Mac OS X. |
|
||||
| tools/host/x86_64-unknown-linux-gnu/ | Pre-built instances of GNU autotools for 64-bit Linux. |
|
||||
| tools/packages/ | Qualified packages for GNU autotools. |
|
||||
| Directory | Description |
|
||||
|--------------------------------------|------------------------------------------------------------------------------------------|
|
||||
| autoconf/ | GNU autoconf infrastructure provided by nlbuild-autotools. |
|
||||
| autoconf/m4/ | GNU m4 macros for configure.ac provided by nlbuild-autotools. |
|
||||
| automake/ | GNU automake Makefile.am header and footer infrastructure provided by nlbuild-autotools. |
|
||||
| automake/post/ | GNU automake Makefile.am footers. |
|
||||
| automake/post.am | GNU automake Makefile.am footer included by every makefile. |
|
||||
| automake/pre/ | GNU automake Makefile.am headers. |
|
||||
| automake/pre.am | GNU automake Makefile.am header included by every makefile. |
|
||||
| examples/ | Example template files for starting your own nlbuild-autotools-based project. |
|
||||
| scripts/ | Automation scripts for regenerating the build system and for managing package versions. |
|
||||
| tools/ | Qualified packages of and pre-built instances of GNU autotools. |
|
||||
| tools/host/ | Pre-built instances of GNU autotools (if installed). |
|
||||
| tools/host/i686-pc-cygwin/ | Pre-built instances of GNU autotools for 32-bit Cygwin (if installed). |
|
||||
| tools/host/i686-pc-linux-gnu/ | Pre-built instances of GNU autotools for 32-bit Linux (if installed). |
|
||||
| tools/host/x86_64-apple-darwin/ | Pre-built instances of GNU autotools for 64-bit Mac OS X (if installed). |
|
||||
| tools/host/x86_64-unknown-linux-gnu/ | Pre-built instances of GNU autotools for 64-bit Linux (if installed). |
|
||||
| tools/packages/ | Qualified packages for GNU autotools. |
|
||||
|
||||
FAQ
|
||||
---
|
||||
# FAQ {#FAQ}
|
||||
|
||||
Q: Why does nlbuild-autotools have its own built versions of GNU
|
||||
autotools rather than leveraging whatever versions exist on the build
|
||||
host system?
|
||||
Q: Why does nlbuild-autotools have an option for its own built versions
|
||||
of GNU autotools rather than leveraging whatever versions exist on
|
||||
the build host system?
|
||||
|
||||
A: Some build host systems such as Mac OS X may not have GNU autotools
|
||||
at all. Other build host systems, such as Linux, may have different
|
||||
@@ -102,4 +123,58 @@ A: Some build host systems such as Mac OS X may not have GNU autotools
|
||||
standalone set of scripts to drive them without reliance on those
|
||||
versions of the tools on the build host system.
|
||||
|
||||
## Maintainers
|
||||
|
||||
If you are maintaining nlbuild-autotools, you have several key things to know:
|
||||
|
||||
1. Generating nlbuild-autotools distributions
|
||||
2. Generating optional nlbuild-autotools prebuilt binary distributions.
|
||||
3. Upgrading GNU autotools packages.
|
||||
|
||||
### Generating Distributions
|
||||
|
||||
To generate a nlbuild-autotools distribution, simply invoke:
|
||||
|
||||
```
|
||||
% make dist
|
||||
```
|
||||
|
||||
The package version will come from tags in the source code control
|
||||
system, if available; otherwise, from '.default-version'. The version
|
||||
can be overridden from the PACKAGE_VERSION or VERSION environment
|
||||
variables.
|
||||
|
||||
The resulting archive will be at the top of the package build
|
||||
directory.
|
||||
|
||||
### Generating Optional Prebuilt Binary Distributions
|
||||
|
||||
To generate an optional nlbuild-autotools prebuilt binary
|
||||
distribution, simply invoke:
|
||||
|
||||
```
|
||||
% make toolsdist
|
||||
```
|
||||
|
||||
The package version will come from the source code control system, if
|
||||
available; otherwise, from `.default-version`. The version can be
|
||||
overridden from the _PACKAGE_VERSION_ or _VERSION_ environment variables.
|
||||
|
||||
The resulting archives will be at the top of the package build
|
||||
directory.
|
||||
|
||||
### Upgrading GNU Autotools Packages
|
||||
|
||||
To change or upgrade GNU autotools packages used by nlbuild-autotools,
|
||||
edit the metadata for each package in tools/packages/_package_/
|
||||
_package_.{url,version}.
|
||||
|
||||
# Versioning
|
||||
|
||||
nlbuild-autools follows the [Semantic Versioning guidelines](http://semver.org/)
|
||||
for release cycle transparency and to maintain backwards compatibility.
|
||||
|
||||
# License
|
||||
|
||||
nlbuild-autools is released under the [Apache License, Version 2.0 license](https://opensource.org/licenses/Apache-2.0).
|
||||
See the `LICENSE` file for more information.
|
||||
@@ -0,0 +1,177 @@
|
||||
# ===========================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_compare_version.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_COMPARE_VERSION(VERSION_A, OP, VERSION_B, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# This macro compares two version strings. Due to the various number of
|
||||
# minor-version numbers that can exist, and the fact that string
|
||||
# comparisons are not compatible with numeric comparisons, this is not
|
||||
# necessarily trivial to do in a autoconf script. This macro makes doing
|
||||
# these comparisons easy.
|
||||
#
|
||||
# The six basic comparisons are available, as well as checking equality
|
||||
# limited to a certain number of minor-version levels.
|
||||
#
|
||||
# The operator OP determines what type of comparison to do, and can be one
|
||||
# of:
|
||||
#
|
||||
# eq - equal (test A == B)
|
||||
# ne - not equal (test A != B)
|
||||
# le - less than or equal (test A <= B)
|
||||
# ge - greater than or equal (test A >= B)
|
||||
# lt - less than (test A < B)
|
||||
# gt - greater than (test A > B)
|
||||
#
|
||||
# Additionally, the eq and ne operator can have a number after it to limit
|
||||
# the test to that number of minor versions.
|
||||
#
|
||||
# eq0 - equal up to the length of the shorter version
|
||||
# ne0 - not equal up to the length of the shorter version
|
||||
# eqN - equal up to N sub-version levels
|
||||
# neN - not equal up to N sub-version levels
|
||||
#
|
||||
# When the condition is true, shell commands ACTION-IF-TRUE are run,
|
||||
# otherwise shell commands ACTION-IF-FALSE are run. The environment
|
||||
# variable 'ax_compare_version' is always set to either 'true' or 'false'
|
||||
# as well.
|
||||
#
|
||||
# Examples:
|
||||
#
|
||||
# AX_COMPARE_VERSION([3.15.7],[lt],[3.15.8])
|
||||
# AX_COMPARE_VERSION([3.15],[lt],[3.15.8])
|
||||
#
|
||||
# would both be true.
|
||||
#
|
||||
# AX_COMPARE_VERSION([3.15.7],[eq],[3.15.8])
|
||||
# AX_COMPARE_VERSION([3.15],[gt],[3.15.8])
|
||||
#
|
||||
# would both be false.
|
||||
#
|
||||
# AX_COMPARE_VERSION([3.15.7],[eq2],[3.15.8])
|
||||
#
|
||||
# would be true because it is only comparing two minor versions.
|
||||
#
|
||||
# AX_COMPARE_VERSION([3.15.7],[eq0],[3.15])
|
||||
#
|
||||
# would be true because it is only comparing the lesser number of minor
|
||||
# versions of the two values.
|
||||
#
|
||||
# Note: The characters that separate the version numbers do not matter. An
|
||||
# empty string is the same as version 0. OP is evaluated by autoconf, not
|
||||
# configure, so must be a string, not a variable.
|
||||
#
|
||||
# The author would like to acknowledge Guido Draheim whose advice about
|
||||
# the m4_case and m4_ifvaln functions make this macro only include the
|
||||
# portions necessary to perform the specific comparison specified by the
|
||||
# OP argument in the final configure script.
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Tim Toolan <[email protected]>
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification, are
|
||||
# permitted in any medium without royalty provided the copyright notice
|
||||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 11
|
||||
|
||||
dnl #########################################################################
|
||||
AC_DEFUN([AX_COMPARE_VERSION], [
|
||||
AC_REQUIRE([AC_PROG_AWK])
|
||||
|
||||
# Used to indicate true or false condition
|
||||
ax_compare_version=false
|
||||
|
||||
# Convert the two version strings to be compared into a format that
|
||||
# allows a simple string comparison. The end result is that a version
|
||||
# string of the form 1.12.5-r617 will be converted to the form
|
||||
# 0001001200050617. In other words, each number is zero padded to four
|
||||
# digits, and non digits are removed.
|
||||
AS_VAR_PUSHDEF([A],[ax_compare_version_A])
|
||||
A=`echo "$1" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \
|
||||
-e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \
|
||||
-e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \
|
||||
-e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \
|
||||
-e 's/[[^0-9]]//g'`
|
||||
|
||||
AS_VAR_PUSHDEF([B],[ax_compare_version_B])
|
||||
B=`echo "$3" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \
|
||||
-e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \
|
||||
-e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \
|
||||
-e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \
|
||||
-e 's/[[^0-9]]//g'`
|
||||
|
||||
dnl # In the case of le, ge, lt, and gt, the strings are sorted as necessary
|
||||
dnl # then the first line is used to determine if the condition is true.
|
||||
dnl # The sed right after the echo is to remove any indented white space.
|
||||
m4_case(m4_tolower($2),
|
||||
[lt],[
|
||||
ax_compare_version=`echo "x$A
|
||||
x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/false/;s/x${B}/true/;1q"`
|
||||
],
|
||||
[gt],[
|
||||
ax_compare_version=`echo "x$A
|
||||
x$B" | sed 's/^ *//' | sort | sed "s/x${A}/false/;s/x${B}/true/;1q"`
|
||||
],
|
||||
[le],[
|
||||
ax_compare_version=`echo "x$A
|
||||
x$B" | sed 's/^ *//' | sort | sed "s/x${A}/true/;s/x${B}/false/;1q"`
|
||||
],
|
||||
[ge],[
|
||||
ax_compare_version=`echo "x$A
|
||||
x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/true/;s/x${B}/false/;1q"`
|
||||
],[
|
||||
dnl Split the operator from the subversion count if present.
|
||||
m4_bmatch(m4_substr($2,2),
|
||||
[0],[
|
||||
# A count of zero means use the length of the shorter version.
|
||||
# Determine the number of characters in A and B.
|
||||
ax_compare_version_len_A=`echo "$A" | $AWK '{print(length)}'`
|
||||
ax_compare_version_len_B=`echo "$B" | $AWK '{print(length)}'`
|
||||
|
||||
# Set A to no more than B's length and B to no more than A's length.
|
||||
A=`echo "$A" | sed "s/\(.\{$ax_compare_version_len_B\}\).*/\1/"`
|
||||
B=`echo "$B" | sed "s/\(.\{$ax_compare_version_len_A\}\).*/\1/"`
|
||||
],
|
||||
[[0-9]+],[
|
||||
# A count greater than zero means use only that many subversions
|
||||
A=`echo "$A" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"`
|
||||
B=`echo "$B" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"`
|
||||
],
|
||||
[.+],[
|
||||
AC_WARNING(
|
||||
[illegal OP numeric parameter: $2])
|
||||
],[])
|
||||
|
||||
# Pad zeros at end of numbers to make same length.
|
||||
ax_compare_version_tmp_A="$A`echo $B | sed 's/./0/g'`"
|
||||
B="$B`echo $A | sed 's/./0/g'`"
|
||||
A="$ax_compare_version_tmp_A"
|
||||
|
||||
# Check for equality or inequality as necessary.
|
||||
m4_case(m4_tolower(m4_substr($2,0,2)),
|
||||
[eq],[
|
||||
test "x$A" = "x$B" && ax_compare_version=true
|
||||
],
|
||||
[ne],[
|
||||
test "x$A" != "x$B" && ax_compare_version=true
|
||||
],[
|
||||
AC_WARNING([illegal OP parameter: $2])
|
||||
])
|
||||
])
|
||||
|
||||
AS_VAR_POPDEF([A])dnl
|
||||
AS_VAR_POPDEF([B])dnl
|
||||
|
||||
dnl # Execute ACTION-IF-TRUE / ACTION-IF-FALSE.
|
||||
if test "$ax_compare_version" = "true" ; then
|
||||
m4_ifvaln([$4],[$4],[:])dnl
|
||||
m4_ifvaln([$5],[else $5])dnl
|
||||
fi
|
||||
]) dnl AX_COMPARE_VERSION
|
||||
@@ -0,0 +1,562 @@
|
||||
# ===========================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# Check for baseline language coverage in the compiler for the specified
|
||||
# version of the C++ standard. If necessary, add switches to CXX and
|
||||
# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard)
|
||||
# or '14' (for the C++14 standard).
|
||||
#
|
||||
# The second argument, if specified, indicates whether you insist on an
|
||||
# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
|
||||
# -std=c++11). If neither is specified, you get whatever works, with
|
||||
# preference for an extended mode.
|
||||
#
|
||||
# The third argument, if specified 'mandatory' or if left unspecified,
|
||||
# indicates that baseline support for the specified C++ standard is
|
||||
# required and that the macro should error out if no mode with that
|
||||
# support is found. If specified 'optional', then configuration proceeds
|
||||
# regardless, after defining HAVE_CXX${VERSION} if and only if a
|
||||
# supporting mode is found.
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Benjamin Kosnik <[email protected]>
|
||||
# Copyright (c) 2012 Zack Weinberg <[email protected]>
|
||||
# Copyright (c) 2013 Roy Stogner <[email protected]>
|
||||
# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <[email protected]>
|
||||
# Copyright (c) 2015 Paul Norman <[email protected]>
|
||||
# Copyright (c) 2015 Moritz Klammler <[email protected]>
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification, are
|
||||
# permitted in any medium without royalty provided the copyright notice
|
||||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 4
|
||||
|
||||
dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
|
||||
dnl (serial version number 13).
|
||||
|
||||
AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
|
||||
m4_if([$1], [11], [],
|
||||
[$1], [14], [],
|
||||
[$1], [17], [m4_fatal([support for C++17 not yet implemented in AX_CXX_COMPILE_STDCXX])],
|
||||
[m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl
|
||||
m4_if([$2], [], [],
|
||||
[$2], [ext], [],
|
||||
[$2], [noext], [],
|
||||
[m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl
|
||||
m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true],
|
||||
[$3], [mandatory], [ax_cxx_compile_cxx$1_required=true],
|
||||
[$3], [optional], [ax_cxx_compile_cxx$1_required=false],
|
||||
[m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])])
|
||||
AC_LANG_PUSH([C++])dnl
|
||||
ac_success=no
|
||||
AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
|
||||
ax_cv_cxx_compile_cxx$1,
|
||||
[AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
|
||||
[ax_cv_cxx_compile_cxx$1=yes],
|
||||
[ax_cv_cxx_compile_cxx$1=no])])
|
||||
if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
|
||||
ac_success=yes
|
||||
fi
|
||||
|
||||
m4_if([$2], [noext], [], [dnl
|
||||
if test x$ac_success = xno; then
|
||||
for switch in -std=gnu++$1 -std=gnu++0x; do
|
||||
cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
|
||||
AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
|
||||
$cachevar,
|
||||
[ac_save_CXX="$CXX"
|
||||
CXX="$CXX $switch"
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
|
||||
[eval $cachevar=yes],
|
||||
[eval $cachevar=no])
|
||||
CXX="$ac_save_CXX"])
|
||||
if eval test x\$$cachevar = xyes; then
|
||||
CXX="$CXX $switch"
|
||||
if test -n "$CXXCPP" ; then
|
||||
CXXCPP="$CXXCPP $switch"
|
||||
fi
|
||||
ac_success=yes
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi])
|
||||
|
||||
m4_if([$2], [ext], [], [dnl
|
||||
if test x$ac_success = xno; then
|
||||
dnl HP's aCC needs +std=c++11 according to:
|
||||
dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
|
||||
dnl Cray's crayCC needs "-h std=c++11"
|
||||
for switch in -std=c++$1 -std=c++0x +std=c++$1 "-h std=c++$1"; do
|
||||
cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
|
||||
AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
|
||||
$cachevar,
|
||||
[ac_save_CXX="$CXX"
|
||||
CXX="$CXX $switch"
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
|
||||
[eval $cachevar=yes],
|
||||
[eval $cachevar=no])
|
||||
CXX="$ac_save_CXX"])
|
||||
if eval test x\$$cachevar = xyes; then
|
||||
CXX="$CXX $switch"
|
||||
if test -n "$CXXCPP" ; then
|
||||
CXXCPP="$CXXCPP $switch"
|
||||
fi
|
||||
ac_success=yes
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi])
|
||||
AC_LANG_POP([C++])
|
||||
if test x$ax_cxx_compile_cxx$1_required = xtrue; then
|
||||
if test x$ac_success = xno; then
|
||||
AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.])
|
||||
fi
|
||||
fi
|
||||
if test x$ac_success = xno; then
|
||||
HAVE_CXX$1=0
|
||||
AC_MSG_NOTICE([No compiler with C++$1 support was found])
|
||||
else
|
||||
HAVE_CXX$1=1
|
||||
AC_DEFINE(HAVE_CXX$1,1,
|
||||
[define if the compiler supports basic C++$1 syntax])
|
||||
fi
|
||||
AC_SUBST(HAVE_CXX$1)
|
||||
])
|
||||
|
||||
|
||||
dnl Test body for checking C++11 support
|
||||
|
||||
m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11],
|
||||
_AX_CXX_COMPILE_STDCXX_testbody_new_in_11
|
||||
)
|
||||
|
||||
|
||||
dnl Test body for checking C++14 support
|
||||
|
||||
m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14],
|
||||
_AX_CXX_COMPILE_STDCXX_testbody_new_in_11
|
||||
_AX_CXX_COMPILE_STDCXX_testbody_new_in_14
|
||||
)
|
||||
|
||||
|
||||
dnl Tests for new features in C++11
|
||||
|
||||
m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[
|
||||
|
||||
// If the compiler admits that it is not ready for C++11, why torture it?
|
||||
// Hopefully, this will speed up the test.
|
||||
|
||||
#ifndef __cplusplus
|
||||
|
||||
#error "This is not a C++ compiler"
|
||||
|
||||
#elif __cplusplus < 201103L
|
||||
|
||||
#error "This is not a C++11 compiler"
|
||||
|
||||
#else
|
||||
|
||||
namespace cxx11
|
||||
{
|
||||
|
||||
namespace test_static_assert
|
||||
{
|
||||
|
||||
template <typename T>
|
||||
struct check
|
||||
{
|
||||
static_assert(sizeof(int) <= sizeof(T), "not big enough");
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
namespace test_final_override
|
||||
{
|
||||
|
||||
struct Base
|
||||
{
|
||||
virtual void f() {}
|
||||
};
|
||||
|
||||
struct Derived : public Base
|
||||
{
|
||||
virtual void f() override {}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
namespace test_double_right_angle_brackets
|
||||
{
|
||||
|
||||
template < typename T >
|
||||
struct check {};
|
||||
|
||||
typedef check<void> single_type;
|
||||
typedef check<check<void>> double_type;
|
||||
typedef check<check<check<void>>> triple_type;
|
||||
typedef check<check<check<check<void>>>> quadruple_type;
|
||||
|
||||
}
|
||||
|
||||
namespace test_decltype
|
||||
{
|
||||
|
||||
int
|
||||
f()
|
||||
{
|
||||
int a = 1;
|
||||
decltype(a) b = 2;
|
||||
return a + b;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
namespace test_type_deduction
|
||||
{
|
||||
|
||||
template < typename T1, typename T2 >
|
||||
struct is_same
|
||||
{
|
||||
static const bool value = false;
|
||||
};
|
||||
|
||||
template < typename T >
|
||||
struct is_same<T, T>
|
||||
{
|
||||
static const bool value = true;
|
||||
};
|
||||
|
||||
template < typename T1, typename T2 >
|
||||
auto
|
||||
add(T1 a1, T2 a2) -> decltype(a1 + a2)
|
||||
{
|
||||
return a1 + a2;
|
||||
}
|
||||
|
||||
int
|
||||
test(const int c, volatile int v)
|
||||
{
|
||||
static_assert(is_same<int, decltype(0)>::value == true, "");
|
||||
static_assert(is_same<int, decltype(c)>::value == false, "");
|
||||
static_assert(is_same<int, decltype(v)>::value == false, "");
|
||||
auto ac = c;
|
||||
auto av = v;
|
||||
auto sumi = ac + av + 'x';
|
||||
auto sumf = ac + av + 1.0;
|
||||
static_assert(is_same<int, decltype(ac)>::value == true, "");
|
||||
static_assert(is_same<int, decltype(av)>::value == true, "");
|
||||
static_assert(is_same<int, decltype(sumi)>::value == true, "");
|
||||
static_assert(is_same<int, decltype(sumf)>::value == false, "");
|
||||
static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
|
||||
return (sumf > 0.0) ? sumi : add(c, v);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
namespace test_noexcept
|
||||
{
|
||||
|
||||
int f() { return 0; }
|
||||
int g() noexcept { return 0; }
|
||||
|
||||
static_assert(noexcept(f()) == false, "");
|
||||
static_assert(noexcept(g()) == true, "");
|
||||
|
||||
}
|
||||
|
||||
namespace test_constexpr
|
||||
{
|
||||
|
||||
template < typename CharT >
|
||||
unsigned long constexpr
|
||||
strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
|
||||
{
|
||||
return *s ? strlen_c_r(s + 1, acc + 1) : acc;
|
||||
}
|
||||
|
||||
template < typename CharT >
|
||||
unsigned long constexpr
|
||||
strlen_c(const CharT *const s) noexcept
|
||||
{
|
||||
return strlen_c_r(s, 0UL);
|
||||
}
|
||||
|
||||
static_assert(strlen_c("") == 0UL, "");
|
||||
static_assert(strlen_c("1") == 1UL, "");
|
||||
static_assert(strlen_c("example") == 7UL, "");
|
||||
static_assert(strlen_c("another\0example") == 7UL, "");
|
||||
|
||||
}
|
||||
|
||||
namespace test_rvalue_references
|
||||
{
|
||||
|
||||
template < int N >
|
||||
struct answer
|
||||
{
|
||||
static constexpr int value = N;
|
||||
};
|
||||
|
||||
answer<1> f(int&) { return answer<1>(); }
|
||||
answer<2> f(const int&) { return answer<2>(); }
|
||||
answer<3> f(int&&) { return answer<3>(); }
|
||||
|
||||
void
|
||||
test()
|
||||
{
|
||||
int i = 0;
|
||||
const int c = 0;
|
||||
static_assert(decltype(f(i))::value == 1, "");
|
||||
static_assert(decltype(f(c))::value == 2, "");
|
||||
static_assert(decltype(f(0))::value == 3, "");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
namespace test_uniform_initialization
|
||||
{
|
||||
|
||||
struct test
|
||||
{
|
||||
static const int zero {};
|
||||
static const int one {1};
|
||||
};
|
||||
|
||||
static_assert(test::zero == 0, "");
|
||||
static_assert(test::one == 1, "");
|
||||
|
||||
}
|
||||
|
||||
namespace test_lambdas
|
||||
{
|
||||
|
||||
void
|
||||
test1()
|
||||
{
|
||||
auto lambda1 = [](){};
|
||||
auto lambda2 = lambda1;
|
||||
lambda1();
|
||||
lambda2();
|
||||
}
|
||||
|
||||
int
|
||||
test2()
|
||||
{
|
||||
auto a = [](int i, int j){ return i + j; }(1, 2);
|
||||
auto b = []() -> int { return '0'; }();
|
||||
auto c = [=](){ return a + b; }();
|
||||
auto d = [&](){ return c; }();
|
||||
auto e = [a, &b](int x) mutable {
|
||||
const auto identity = [](int y){ return y; };
|
||||
for (auto i = 0; i < a; ++i)
|
||||
a += b--;
|
||||
return x + identity(a + b);
|
||||
}(0);
|
||||
return a + b + c + d + e;
|
||||
}
|
||||
|
||||
int
|
||||
test3()
|
||||
{
|
||||
const auto nullary = [](){ return 0; };
|
||||
const auto unary = [](int x){ return x; };
|
||||
using nullary_t = decltype(nullary);
|
||||
using unary_t = decltype(unary);
|
||||
const auto higher1st = [](nullary_t f){ return f(); };
|
||||
const auto higher2nd = [unary](nullary_t f1){
|
||||
return [unary, f1](unary_t f2){ return f2(unary(f1())); };
|
||||
};
|
||||
return higher1st(nullary) + higher2nd(nullary)(unary);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
namespace test_variadic_templates
|
||||
{
|
||||
|
||||
template <int...>
|
||||
struct sum;
|
||||
|
||||
template <int N0, int... N1toN>
|
||||
struct sum<N0, N1toN...>
|
||||
{
|
||||
static constexpr auto value = N0 + sum<N1toN...>::value;
|
||||
};
|
||||
|
||||
template <>
|
||||
struct sum<>
|
||||
{
|
||||
static constexpr auto value = 0;
|
||||
};
|
||||
|
||||
static_assert(sum<>::value == 0, "");
|
||||
static_assert(sum<1>::value == 1, "");
|
||||
static_assert(sum<23>::value == 23, "");
|
||||
static_assert(sum<1, 2>::value == 3, "");
|
||||
static_assert(sum<5, 5, 11>::value == 21, "");
|
||||
static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
|
||||
|
||||
}
|
||||
|
||||
// http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
|
||||
// Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
|
||||
// because of this.
|
||||
namespace test_template_alias_sfinae
|
||||
{
|
||||
|
||||
struct foo {};
|
||||
|
||||
template<typename T>
|
||||
using member = typename T::member_type;
|
||||
|
||||
template<typename T>
|
||||
void func(...) {}
|
||||
|
||||
template<typename T>
|
||||
void func(member<T>*) {}
|
||||
|
||||
void test();
|
||||
|
||||
void test() { func<foo>(0); }
|
||||
|
||||
}
|
||||
|
||||
} // namespace cxx11
|
||||
|
||||
#endif // __cplusplus >= 201103L
|
||||
|
||||
]])
|
||||
|
||||
|
||||
dnl Tests for new features in C++14
|
||||
|
||||
m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[
|
||||
|
||||
// If the compiler admits that it is not ready for C++14, why torture it?
|
||||
// Hopefully, this will speed up the test.
|
||||
|
||||
#ifndef __cplusplus
|
||||
|
||||
#error "This is not a C++ compiler"
|
||||
|
||||
#elif __cplusplus < 201402L
|
||||
|
||||
#error "This is not a C++14 compiler"
|
||||
|
||||
#else
|
||||
|
||||
namespace cxx14
|
||||
{
|
||||
|
||||
namespace test_polymorphic_lambdas
|
||||
{
|
||||
|
||||
int
|
||||
test()
|
||||
{
|
||||
const auto lambda = [](auto&&... args){
|
||||
const auto istiny = [](auto x){
|
||||
return (sizeof(x) == 1UL) ? 1 : 0;
|
||||
};
|
||||
const int aretiny[] = { istiny(args)... };
|
||||
return aretiny[0];
|
||||
};
|
||||
return lambda(1, 1L, 1.0f, '1');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
namespace test_binary_literals
|
||||
{
|
||||
|
||||
constexpr auto ivii = 0b0000000000101010;
|
||||
static_assert(ivii == 42, "wrong value");
|
||||
|
||||
}
|
||||
|
||||
namespace test_generalized_constexpr
|
||||
{
|
||||
|
||||
template < typename CharT >
|
||||
constexpr unsigned long
|
||||
strlen_c(const CharT *const s) noexcept
|
||||
{
|
||||
auto length = 0UL;
|
||||
for (auto p = s; *p; ++p)
|
||||
++length;
|
||||
return length;
|
||||
}
|
||||
|
||||
static_assert(strlen_c("") == 0UL, "");
|
||||
static_assert(strlen_c("x") == 1UL, "");
|
||||
static_assert(strlen_c("test") == 4UL, "");
|
||||
static_assert(strlen_c("another\0test") == 7UL, "");
|
||||
|
||||
}
|
||||
|
||||
namespace test_lambda_init_capture
|
||||
{
|
||||
|
||||
int
|
||||
test()
|
||||
{
|
||||
auto x = 0;
|
||||
const auto lambda1 = [a = x](int b){ return a + b; };
|
||||
const auto lambda2 = [a = lambda1(x)](){ return a; };
|
||||
return lambda2();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
namespace test_digit_seperators
|
||||
{
|
||||
|
||||
constexpr auto ten_million = 100'000'000;
|
||||
static_assert(ten_million == 100000000, "");
|
||||
|
||||
}
|
||||
|
||||
namespace test_return_type_deduction
|
||||
{
|
||||
|
||||
auto f(int& x) { return x; }
|
||||
decltype(auto) g(int& x) { return x; }
|
||||
|
||||
template < typename T1, typename T2 >
|
||||
struct is_same
|
||||
{
|
||||
static constexpr auto value = false;
|
||||
};
|
||||
|
||||
template < typename T >
|
||||
struct is_same<T, T>
|
||||
{
|
||||
static constexpr auto value = true;
|
||||
};
|
||||
|
||||
int
|
||||
test()
|
||||
{
|
||||
auto x = 0;
|
||||
static_assert(is_same<int, decltype(f(x))>::value, "");
|
||||
static_assert(is_same<int&, decltype(g(x))>::value, "");
|
||||
return x;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} // namespace cxx14
|
||||
|
||||
#endif // __cplusplus >= 201402L
|
||||
|
||||
]])
|
||||
@@ -0,0 +1,111 @@
|
||||
# ============================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_0x.html
|
||||
# ============================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_CXX_COMPILE_STDCXX_0X
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# Check for baseline language coverage in the compiler for the C++0x
|
||||
# standard.
|
||||
#
|
||||
# This macro is deprecated and has been superseded by the
|
||||
# AX_CXX_COMPILE_STDCXX_11 macro which should be used instead.
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Benjamin Kosnik <[email protected]>
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification, are
|
||||
# permitted in any medium without royalty provided the copyright notice
|
||||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 10
|
||||
|
||||
AU_ALIAS([AC_CXX_COMPILE_STDCXX_0X], [AX_CXX_COMPILE_STDCXX_0X])
|
||||
AC_DEFUN([AX_CXX_COMPILE_STDCXX_0X], [
|
||||
AC_OBSOLETE([$0], [; use AX_CXX_COMPILE_STDCXX_11 instead])
|
||||
AC_CACHE_CHECK(if g++ supports C++0x features without additional flags,
|
||||
ax_cv_cxx_compile_cxx0x_native,
|
||||
[AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
AC_TRY_COMPILE([
|
||||
template <typename T>
|
||||
struct check
|
||||
{
|
||||
static_assert(sizeof(int) <= sizeof(T), "not big enough");
|
||||
};
|
||||
|
||||
typedef check<check<bool>> right_angle_brackets;
|
||||
|
||||
int a;
|
||||
decltype(a) b;
|
||||
|
||||
typedef check<int> check_type;
|
||||
check_type c;
|
||||
check_type&& cr = static_cast<check_type&&>(c);],,
|
||||
ax_cv_cxx_compile_cxx0x_native=yes, ax_cv_cxx_compile_cxx0x_native=no)
|
||||
AC_LANG_RESTORE
|
||||
])
|
||||
|
||||
AC_CACHE_CHECK(if g++ supports C++0x features with -std=c++0x,
|
||||
ax_cv_cxx_compile_cxx0x_cxx,
|
||||
[AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
ac_save_CXX="$CXX"
|
||||
CXX="$CXX -std=c++0x"
|
||||
AC_TRY_COMPILE([
|
||||
template <typename T>
|
||||
struct check
|
||||
{
|
||||
static_assert(sizeof(int) <= sizeof(T), "not big enough");
|
||||
};
|
||||
|
||||
typedef check<check<bool>> right_angle_brackets;
|
||||
|
||||
int a;
|
||||
decltype(a) b;
|
||||
|
||||
typedef check<int> check_type;
|
||||
check_type c;
|
||||
check_type&& cr = static_cast<check_type&&>(c);],,
|
||||
ax_cv_cxx_compile_cxx0x_cxx=yes, ax_cv_cxx_compile_cxx0x_cxx=no)
|
||||
CXX="$ac_save_CXX"
|
||||
AC_LANG_RESTORE
|
||||
])
|
||||
|
||||
AC_CACHE_CHECK(if g++ supports C++0x features with -std=gnu++0x,
|
||||
ax_cv_cxx_compile_cxx0x_gxx,
|
||||
[AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
ac_save_CXX="$CXX"
|
||||
CXX="$CXX -std=gnu++0x"
|
||||
AC_TRY_COMPILE([
|
||||
template <typename T>
|
||||
struct check
|
||||
{
|
||||
static_assert(sizeof(int) <= sizeof(T), "not big enough");
|
||||
};
|
||||
|
||||
typedef check<check<bool>> right_angle_brackets;
|
||||
|
||||
int a;
|
||||
decltype(a) b;
|
||||
|
||||
typedef check<int> check_type;
|
||||
check_type c;
|
||||
check_type&& cr = static_cast<check_type&&>(c);],,
|
||||
ax_cv_cxx_compile_cxx0x_gxx=yes, ax_cv_cxx_compile_cxx0x_gxx=no)
|
||||
CXX="$ac_save_CXX"
|
||||
AC_LANG_RESTORE
|
||||
])
|
||||
|
||||
if test "$ax_cv_cxx_compile_cxx0x_native" = yes ||
|
||||
test "$ax_cv_cxx_compile_cxx0x_cxx" = yes ||
|
||||
test "$ax_cv_cxx_compile_cxx0x_gxx" = yes; then
|
||||
AC_DEFINE(HAVE_STDCXX_0X,,[Define if g++ supports C++0x features. ])
|
||||
fi
|
||||
])
|
||||
@@ -0,0 +1,39 @@
|
||||
# ============================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
|
||||
# ============================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_CXX_COMPILE_STDCXX_11([ext|noext], [mandatory|optional])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# Check for baseline language coverage in the compiler for the C++11
|
||||
# standard; if necessary, add switches to CXX and CXXCPP to enable
|
||||
# support.
|
||||
#
|
||||
# This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX
|
||||
# macro with the version set to C++11. The two optional arguments are
|
||||
# forwarded literally as the second and third argument respectively.
|
||||
# Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for
|
||||
# more information. If you want to use this macro, you also need to
|
||||
# download the ax_cxx_compile_stdcxx.m4 file.
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Benjamin Kosnik <[email protected]>
|
||||
# Copyright (c) 2012 Zack Weinberg <[email protected]>
|
||||
# Copyright (c) 2013 Roy Stogner <[email protected]>
|
||||
# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <[email protected]>
|
||||
# Copyright (c) 2015 Paul Norman <[email protected]>
|
||||
# Copyright (c) 2015 Moritz Klammler <[email protected]>
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification, are
|
||||
# permitted in any medium without royalty provided the copyright notice
|
||||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 17
|
||||
|
||||
AX_REQUIRE_DEFINED([AX_CXX_COMPILE_STDCXX])
|
||||
AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [AX_CXX_COMPILE_STDCXX([11], [$1], [$2])])
|
||||
@@ -0,0 +1,34 @@
|
||||
# ============================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_14.html
|
||||
# ============================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_CXX_COMPILE_STDCXX_14([ext|noext], [mandatory|optional])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# Check for baseline language coverage in the compiler for the C++14
|
||||
# standard; if necessary, add switches to CXX and CXXCPP to enable
|
||||
# support.
|
||||
#
|
||||
# This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX
|
||||
# macro with the version set to C++14. The two optional arguments are
|
||||
# forwarded literally as the second and third argument respectively.
|
||||
# Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for
|
||||
# more information. If you want to use this macro, you also need to
|
||||
# download the ax_cxx_compile_stdcxx.m4 file.
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2015 Moritz Klammler <[email protected]>
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification, are
|
||||
# permitted in any medium without royalty provided the copyright notice
|
||||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 4
|
||||
|
||||
AX_REQUIRE_DEFINED([AX_CXX_COMPILE_STDCXX])
|
||||
AC_DEFUN([AX_CXX_COMPILE_STDCXX_14], [AX_CXX_COMPILE_STDCXX([14], [$1], [$2])])
|
||||
@@ -0,0 +1,485 @@
|
||||
# ===========================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_pthread.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# This macro figures out how to build C programs using POSIX threads. It
|
||||
# sets the PTHREAD_LIBS output variable to the threads library and linker
|
||||
# flags, and the PTHREAD_CFLAGS output variable to any special C compiler
|
||||
# flags that are needed. (The user can also force certain compiler
|
||||
# flags/libs to be tested by setting these environment variables.)
|
||||
#
|
||||
# Also sets PTHREAD_CC to any special C compiler that is needed for
|
||||
# multi-threaded programs (defaults to the value of CC otherwise). (This
|
||||
# is necessary on AIX to use the special cc_r compiler alias.)
|
||||
#
|
||||
# NOTE: You are assumed to not only compile your program with these flags,
|
||||
# but also to link with them as well. For example, you might link with
|
||||
# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
|
||||
#
|
||||
# If you are only building threaded programs, you may wish to use these
|
||||
# variables in your default LIBS, CFLAGS, and CC:
|
||||
#
|
||||
# LIBS="$PTHREAD_LIBS $LIBS"
|
||||
# CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
# CC="$PTHREAD_CC"
|
||||
#
|
||||
# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
|
||||
# has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to
|
||||
# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
|
||||
#
|
||||
# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the
|
||||
# PTHREAD_PRIO_INHERIT symbol is defined when compiling with
|
||||
# PTHREAD_CFLAGS.
|
||||
#
|
||||
# ACTION-IF-FOUND is a list of shell commands to run if a threads library
|
||||
# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
|
||||
# is not found. If ACTION-IF-FOUND is not specified, the default action
|
||||
# will define HAVE_PTHREAD.
|
||||
#
|
||||
# Please let the authors know if this macro fails on any platform, or if
|
||||
# you have any other suggestions or comments. This macro was based on work
|
||||
# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help
|
||||
# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by
|
||||
# Alejandro Forero Cuervo to the autoconf macro repository. We are also
|
||||
# grateful for the helpful feedback of numerous users.
|
||||
#
|
||||
# Updated for Autoconf 2.68 by Daniel Richard G.
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Steven G. Johnson <[email protected]>
|
||||
# Copyright (c) 2011 Daniel Richard G. <[email protected]>
|
||||
#
|
||||
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# As a special exception, the respective Autoconf Macro's copyright owner
|
||||
# gives unlimited permission to copy, distribute and modify the configure
|
||||
# scripts that are the output of Autoconf when processing the Macro. You
|
||||
# need not follow the terms of the GNU General Public License when using
|
||||
# or distributing such scripts, even though portions of the text of the
|
||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
||||
# all other use of the material that constitutes the Autoconf Macro.
|
||||
#
|
||||
# This special exception to the GPL applies to versions of the Autoconf
|
||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
||||
# modified version of the Autoconf Macro, you may extend this special
|
||||
# exception to the GPL to apply to your modified version as well.
|
||||
|
||||
#serial 23
|
||||
|
||||
AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
|
||||
AC_DEFUN([AX_PTHREAD], [
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([AC_PROG_SED])
|
||||
AC_LANG_PUSH([C])
|
||||
ax_pthread_ok=no
|
||||
|
||||
# We used to check for pthread.h first, but this fails if pthread.h
|
||||
# requires special compiler flags (e.g. on Tru64 or Sequent).
|
||||
# It gets checked for in the link test anyway.
|
||||
|
||||
# First of all, check if the user has set any of the PTHREAD_LIBS,
|
||||
# etcetera environment variables, and if threads linking works using
|
||||
# them:
|
||||
if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then
|
||||
ax_pthread_save_CC="$CC"
|
||||
ax_pthread_save_CFLAGS="$CFLAGS"
|
||||
ax_pthread_save_LIBS="$LIBS"
|
||||
AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"])
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
LIBS="$PTHREAD_LIBS $LIBS"
|
||||
AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS])
|
||||
AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes])
|
||||
AC_MSG_RESULT([$ax_pthread_ok])
|
||||
if test "x$ax_pthread_ok" = "xno"; then
|
||||
PTHREAD_LIBS=""
|
||||
PTHREAD_CFLAGS=""
|
||||
fi
|
||||
CC="$ax_pthread_save_CC"
|
||||
CFLAGS="$ax_pthread_save_CFLAGS"
|
||||
LIBS="$ax_pthread_save_LIBS"
|
||||
fi
|
||||
|
||||
# We must check for the threads library under a number of different
|
||||
# names; the ordering is very important because some systems
|
||||
# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
|
||||
# libraries is broken (non-POSIX).
|
||||
|
||||
# Create a list of thread flags to try. Items starting with a "-" are
|
||||
# C compiler flags, and other items are library names, except for "none"
|
||||
# which indicates that we try without any flags at all, and "pthread-config"
|
||||
# which is a program returning the flags for the Pth emulation library.
|
||||
|
||||
ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
|
||||
|
||||
# The ordering *is* (sometimes) important. Some notes on the
|
||||
# individual items follow:
|
||||
|
||||
# pthreads: AIX (must check this before -lpthread)
|
||||
# none: in case threads are in libc; should be tried before -Kthread and
|
||||
# other compiler flags to prevent continual compiler warnings
|
||||
# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
|
||||
# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64
|
||||
# (Note: HP C rejects this with "bad form for `-t' option")
|
||||
# -pthreads: Solaris/gcc (Note: HP C also rejects)
|
||||
# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
|
||||
# doesn't hurt to check since this sometimes defines pthreads and
|
||||
# -D_REENTRANT too), HP C (must be checked before -lpthread, which
|
||||
# is present but should not be used directly; and before -mthreads,
|
||||
# because the compiler interprets this as "-mt" + "-hreads")
|
||||
# -mthreads: Mingw32/gcc, Lynx/gcc
|
||||
# pthread: Linux, etcetera
|
||||
# --thread-safe: KAI C++
|
||||
# pthread-config: use pthread-config program (for GNU Pth library)
|
||||
|
||||
case $host_os in
|
||||
|
||||
freebsd*)
|
||||
|
||||
# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
|
||||
# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
|
||||
|
||||
ax_pthread_flags="-kthread lthread $ax_pthread_flags"
|
||||
;;
|
||||
|
||||
hpux*)
|
||||
|
||||
# From the cc(1) man page: "[-mt] Sets various -D flags to enable
|
||||
# multi-threading and also sets -lpthread."
|
||||
|
||||
ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags"
|
||||
;;
|
||||
|
||||
openedition*)
|
||||
|
||||
# IBM z/OS requires a feature-test macro to be defined in order to
|
||||
# enable POSIX threads at all, so give the user a hint if this is
|
||||
# not set. (We don't define these ourselves, as they can affect
|
||||
# other portions of the system API in unpredictable ways.)
|
||||
|
||||
AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING],
|
||||
[
|
||||
# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS)
|
||||
AX_PTHREAD_ZOS_MISSING
|
||||
# endif
|
||||
],
|
||||
[AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])])
|
||||
;;
|
||||
|
||||
solaris*)
|
||||
|
||||
# On Solaris (at least, for some versions), libc contains stubbed
|
||||
# (non-functional) versions of the pthreads routines, so link-based
|
||||
# tests will erroneously succeed. (N.B.: The stubs are missing
|
||||
# pthread_cleanup_push, or rather a function called by this macro,
|
||||
# so we could check for that, but who knows whether they'll stub
|
||||
# that too in a future libc.) So we'll check first for the
|
||||
# standard Solaris way of linking pthreads (-mt -lpthread).
|
||||
|
||||
ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags"
|
||||
;;
|
||||
esac
|
||||
|
||||
# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
|
||||
|
||||
AS_IF([test "x$GCC" = "xyes"],
|
||||
[ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"])
|
||||
|
||||
# The presence of a feature test macro requesting re-entrant function
|
||||
# definitions is, on some systems, a strong hint that pthreads support is
|
||||
# correctly enabled
|
||||
|
||||
case $host_os in
|
||||
darwin* | hpux* | linux* | osf* | solaris*)
|
||||
ax_pthread_check_macro="_REENTRANT"
|
||||
;;
|
||||
|
||||
aix*)
|
||||
ax_pthread_check_macro="_THREAD_SAFE"
|
||||
;;
|
||||
|
||||
*)
|
||||
ax_pthread_check_macro="--"
|
||||
;;
|
||||
esac
|
||||
AS_IF([test "x$ax_pthread_check_macro" = "x--"],
|
||||
[ax_pthread_check_cond=0],
|
||||
[ax_pthread_check_cond="!defined($ax_pthread_check_macro)"])
|
||||
|
||||
# Are we compiling with Clang?
|
||||
|
||||
AC_CACHE_CHECK([whether $CC is Clang],
|
||||
[ax_cv_PTHREAD_CLANG],
|
||||
[ax_cv_PTHREAD_CLANG=no
|
||||
# Note that Autoconf sets GCC=yes for Clang as well as GCC
|
||||
if test "x$GCC" = "xyes"; then
|
||||
AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],
|
||||
[/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
|
||||
# if defined(__clang__) && defined(__llvm__)
|
||||
AX_PTHREAD_CC_IS_CLANG
|
||||
# endif
|
||||
],
|
||||
[ax_cv_PTHREAD_CLANG=yes])
|
||||
fi
|
||||
])
|
||||
ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
|
||||
|
||||
ax_pthread_clang_warning=no
|
||||
|
||||
# Clang needs special handling, because older versions handle the -pthread
|
||||
# option in a rather... idiosyncratic way
|
||||
|
||||
if test "x$ax_pthread_clang" = "xyes"; then
|
||||
|
||||
# Clang takes -pthread; it has never supported any other flag
|
||||
|
||||
# (Note 1: This will need to be revisited if a system that Clang
|
||||
# supports has POSIX threads in a separate library. This tends not
|
||||
# to be the way of modern systems, but it's conceivable.)
|
||||
|
||||
# (Note 2: On some systems, notably Darwin, -pthread is not needed
|
||||
# to get POSIX threads support; the API is always present and
|
||||
# active. We could reasonably leave PTHREAD_CFLAGS empty. But
|
||||
# -pthread does define _REENTRANT, and while the Darwin headers
|
||||
# ignore this macro, third-party headers might not.)
|
||||
|
||||
PTHREAD_CFLAGS="-pthread"
|
||||
PTHREAD_LIBS=
|
||||
|
||||
ax_pthread_ok=yes
|
||||
|
||||
# However, older versions of Clang make a point of warning the user
|
||||
# that, in an invocation where only linking and no compilation is
|
||||
# taking place, the -pthread option has no effect ("argument unused
|
||||
# during compilation"). They expect -pthread to be passed in only
|
||||
# when source code is being compiled.
|
||||
#
|
||||
# Problem is, this is at odds with the way Automake and most other
|
||||
# C build frameworks function, which is that the same flags used in
|
||||
# compilation (CFLAGS) are also used in linking. Many systems
|
||||
# supported by AX_PTHREAD require exactly this for POSIX threads
|
||||
# support, and in fact it is often not straightforward to specify a
|
||||
# flag that is used only in the compilation phase and not in
|
||||
# linking. Such a scenario is extremely rare in practice.
|
||||
#
|
||||
# Even though use of the -pthread flag in linking would only print
|
||||
# a warning, this can be a nuisance for well-run software projects
|
||||
# that build with -Werror. So if the active version of Clang has
|
||||
# this misfeature, we search for an option to squash it.
|
||||
|
||||
AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread],
|
||||
[ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],
|
||||
[ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
|
||||
# Create an alternate version of $ac_link that compiles and
|
||||
# links in two steps (.c -> .o, .o -> exe) instead of one
|
||||
# (.c -> exe), because the warning occurs only in the second
|
||||
# step
|
||||
ax_pthread_save_ac_link="$ac_link"
|
||||
ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
|
||||
ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
|
||||
ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
|
||||
ax_pthread_save_CFLAGS="$CFLAGS"
|
||||
for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
|
||||
AS_IF([test "x$ax_pthread_try" = "xunknown"], [break])
|
||||
CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
|
||||
ac_link="$ax_pthread_save_ac_link"
|
||||
AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
|
||||
[ac_link="$ax_pthread_2step_ac_link"
|
||||
AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
|
||||
[break])
|
||||
])
|
||||
done
|
||||
ac_link="$ax_pthread_save_ac_link"
|
||||
CFLAGS="$ax_pthread_save_CFLAGS"
|
||||
AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no])
|
||||
ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
|
||||
])
|
||||
|
||||
case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
|
||||
no | unknown) ;;
|
||||
*) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
|
||||
esac
|
||||
|
||||
fi # $ax_pthread_clang = yes
|
||||
|
||||
if test "x$ax_pthread_ok" = "xno"; then
|
||||
for ax_pthread_try_flag in $ax_pthread_flags; do
|
||||
|
||||
case $ax_pthread_try_flag in
|
||||
none)
|
||||
AC_MSG_CHECKING([whether pthreads work without any flags])
|
||||
;;
|
||||
|
||||
-mt,pthread)
|
||||
AC_MSG_CHECKING([whether pthreads work with -mt -lpthread])
|
||||
PTHREAD_CFLAGS="-mt"
|
||||
PTHREAD_LIBS="-lpthread"
|
||||
;;
|
||||
|
||||
-*)
|
||||
AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag])
|
||||
PTHREAD_CFLAGS="$ax_pthread_try_flag"
|
||||
;;
|
||||
|
||||
pthread-config)
|
||||
AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
|
||||
AS_IF([test "x$ax_pthread_config" = "xno"], [continue])
|
||||
PTHREAD_CFLAGS="`pthread-config --cflags`"
|
||||
PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
|
||||
;;
|
||||
|
||||
*)
|
||||
AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag])
|
||||
PTHREAD_LIBS="-l$ax_pthread_try_flag"
|
||||
;;
|
||||
esac
|
||||
|
||||
ax_pthread_save_CFLAGS="$CFLAGS"
|
||||
ax_pthread_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
LIBS="$PTHREAD_LIBS $LIBS"
|
||||
|
||||
# Check for various functions. We must include pthread.h,
|
||||
# since some functions may be macros. (On the Sequent, we
|
||||
# need a special flag -Kthread to make this header compile.)
|
||||
# We check for pthread_join because it is in -lpthread on IRIX
|
||||
# while pthread_create is in libc. We check for pthread_attr_init
|
||||
# due to DEC craziness with -lpthreads. We check for
|
||||
# pthread_cleanup_push because it is one of the few pthread
|
||||
# functions on Solaris that doesn't have a non-functional libc stub.
|
||||
# We try pthread_create on general principles.
|
||||
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>
|
||||
# if $ax_pthread_check_cond
|
||||
# error "$ax_pthread_check_macro must be defined"
|
||||
# endif
|
||||
static void routine(void *a) { a = 0; }
|
||||
static void *start_routine(void *a) { return a; }],
|
||||
[pthread_t th; pthread_attr_t attr;
|
||||
pthread_create(&th, 0, start_routine, 0);
|
||||
pthread_join(th, 0);
|
||||
pthread_attr_init(&attr);
|
||||
pthread_cleanup_push(routine, 0);
|
||||
pthread_cleanup_pop(0) /* ; */])],
|
||||
[ax_pthread_ok=yes],
|
||||
[])
|
||||
|
||||
CFLAGS="$ax_pthread_save_CFLAGS"
|
||||
LIBS="$ax_pthread_save_LIBS"
|
||||
|
||||
AC_MSG_RESULT([$ax_pthread_ok])
|
||||
AS_IF([test "x$ax_pthread_ok" = "xyes"], [break])
|
||||
|
||||
PTHREAD_LIBS=""
|
||||
PTHREAD_CFLAGS=""
|
||||
done
|
||||
fi
|
||||
|
||||
# Various other checks:
|
||||
if test "x$ax_pthread_ok" = "xyes"; then
|
||||
ax_pthread_save_CFLAGS="$CFLAGS"
|
||||
ax_pthread_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
LIBS="$PTHREAD_LIBS $LIBS"
|
||||
|
||||
# Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
|
||||
AC_CACHE_CHECK([for joinable pthread attribute],
|
||||
[ax_cv_PTHREAD_JOINABLE_ATTR],
|
||||
[ax_cv_PTHREAD_JOINABLE_ATTR=unknown
|
||||
for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
|
||||
[int attr = $ax_pthread_attr; return attr /* ; */])],
|
||||
[ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break],
|
||||
[])
|
||||
done
|
||||
])
|
||||
AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \
|
||||
test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \
|
||||
test "x$ax_pthread_joinable_attr_defined" != "xyes"],
|
||||
[AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE],
|
||||
[$ax_cv_PTHREAD_JOINABLE_ATTR],
|
||||
[Define to necessary symbol if this constant
|
||||
uses a non-standard name on your system.])
|
||||
ax_pthread_joinable_attr_defined=yes
|
||||
])
|
||||
|
||||
AC_CACHE_CHECK([whether more special flags are required for pthreads],
|
||||
[ax_cv_PTHREAD_SPECIAL_FLAGS],
|
||||
[ax_cv_PTHREAD_SPECIAL_FLAGS=no
|
||||
case $host_os in
|
||||
solaris*)
|
||||
ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS"
|
||||
;;
|
||||
esac
|
||||
])
|
||||
AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \
|
||||
test "x$ax_pthread_special_flags_added" != "xyes"],
|
||||
[PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS"
|
||||
ax_pthread_special_flags_added=yes])
|
||||
|
||||
AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
|
||||
[ax_cv_PTHREAD_PRIO_INHERIT],
|
||||
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
|
||||
[[int i = PTHREAD_PRIO_INHERIT;]])],
|
||||
[ax_cv_PTHREAD_PRIO_INHERIT=yes],
|
||||
[ax_cv_PTHREAD_PRIO_INHERIT=no])
|
||||
])
|
||||
AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \
|
||||
test "x$ax_pthread_prio_inherit_defined" != "xyes"],
|
||||
[AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])
|
||||
ax_pthread_prio_inherit_defined=yes
|
||||
])
|
||||
|
||||
CFLAGS="$ax_pthread_save_CFLAGS"
|
||||
LIBS="$ax_pthread_save_LIBS"
|
||||
|
||||
# More AIX lossage: compile with *_r variant
|
||||
if test "x$GCC" != "xyes"; then
|
||||
case $host_os in
|
||||
aix*)
|
||||
AS_CASE(["x/$CC"],
|
||||
[x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
|
||||
[#handle absolute path differently from PATH based program lookup
|
||||
AS_CASE(["x$CC"],
|
||||
[x/*],
|
||||
[AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
|
||||
[AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
|
||||
test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
|
||||
|
||||
AC_SUBST([PTHREAD_LIBS])
|
||||
AC_SUBST([PTHREAD_CFLAGS])
|
||||
AC_SUBST([PTHREAD_CC])
|
||||
|
||||
# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
|
||||
if test "x$ax_pthread_ok" = "xyes"; then
|
||||
ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1])
|
||||
:
|
||||
else
|
||||
ax_pthread_ok=no
|
||||
$2
|
||||
fi
|
||||
AC_LANG_POP
|
||||
])dnl AX_PTHREAD
|
||||
@@ -86,7 +86,6 @@ AC_DEFUN([NL_ENABLE_COVERAGE],
|
||||
])
|
||||
|
||||
if test "${nl_cv_build_coverage}" = "yes"; then
|
||||
AM_EXTRA_RECURSIVE_TARGETS([coverage])
|
||||
if test "${GCC}" != "yes"; then
|
||||
AC_MSG_ERROR([GCC or a GCC-compatible toolchain is required for --enable-coverage])
|
||||
|
||||
|
||||
@@ -61,8 +61,8 @@ AC_DEFUN([NL_PROG_LNDIR],
|
||||
elif `_NL_CHECK_LNDIR(lndir)`; then
|
||||
LNDIR="lndir -silent"
|
||||
|
||||
elif `_NL_CHECK_CP_RS(${ac_abs_confdir}/build/tools/host/${filtered_build}/bin/cp)`; then
|
||||
LNDIR="\${top_srcdir}/build/tools/host/${filtered_build}/bin/cp -Rs"
|
||||
elif `_NL_CHECK_CP_RS($1)`; then
|
||||
LNDIR="$2 -Rs"
|
||||
|
||||
else
|
||||
AC_MSG_ERROR([Cannot determine how to shadow a directory tree. Neither 'cp -Rs' nor 'lndir -silent' appear to be available or functional. Please consider installing or making available in your PATH one of: GNU coreutils <http://www.gnu.org/software/coreutils/>, XQuartz (Mac OS X-only) <http://xquartz.macosforge.org/>, or lndir <http://www.mit.edu/afs/sipb/project/sipbsrc/rt/lndir/>.])
|
||||
|
||||
@@ -27,6 +27,13 @@
|
||||
# automake-specific dependencies to ensure that happens.
|
||||
#
|
||||
|
||||
coverage-local: check-am
|
||||
.PHONY: coverage coverage-recursive
|
||||
|
||||
coverage: coverage-recursive
|
||||
|
||||
coverage-local: $(BUILT_SOURCES)
|
||||
coverage: check-am
|
||||
|
||||
coverage: $(BUILT_SOURCES)
|
||||
|
||||
coverage-recursive:
|
||||
$(nl-make-subdirs)
|
||||
|
||||
@@ -38,14 +38,14 @@
|
||||
# are the key automake-specific dependencies to ensure that happens.
|
||||
#
|
||||
|
||||
# nl-make-pretty <TERSE OUTPUT COMMAND> <COMMAND> <COMMAND ARGUMENTS>
|
||||
# nl-make-pretty <TERSE OUTPUT COMMAND> <COMMAND> <COMMAND ARGUMENTS> <PATHS>
|
||||
#
|
||||
# This function iterates over PRETTY_FILES, invoking COMMAND with
|
||||
# This function iterates over PATHS, invoking COMMAND with
|
||||
# COMMAND ARGUEMENTS on each file. If a non-verbose make has been
|
||||
# requested TERSE OUTPUT COMMAND is emitted to standard output.
|
||||
|
||||
define nl-make-pretty
|
||||
$(AM_V_at)for file in $(PRETTY_FILES); do \
|
||||
$(AM_V_at)for file in $(4); do \
|
||||
$(1) \
|
||||
if test -f $${file}; then d=.; else d=$(srcdir); fi; \
|
||||
$(2) $(3) $${d}/$${file} \
|
||||
@@ -59,6 +59,8 @@ pretty: pretty-recursive
|
||||
|
||||
pretty pretty-check: $(BUILT_SOURCES)
|
||||
|
||||
# Map the build action 'lint' to the more vernacular 'pretty-check'.
|
||||
|
||||
lint: pretty-check
|
||||
|
||||
pretty-check: pretty-check-recursive
|
||||
@@ -66,12 +68,12 @@ pretty-check: pretty-check-recursive
|
||||
pretty-recursive pretty-check-recursive:
|
||||
$(call nl-make-subdirs-with-dirs,$(PRETTY_SUBDIRS))
|
||||
|
||||
pretty:
|
||||
pretty: $(PRETTY_FILES)
|
||||
ifneq ($(PRETTY),)
|
||||
$(call nl-make-pretty,$(AM_V_PRETTY),$(PRETTY),$(PRETTY_ARGS))
|
||||
$(call nl-make-pretty,$(AM_V_PRETTY),$(PRETTY),$(PRETTY_ARGS),$(filter-out $(@)-recursive,$(PRETTY_FILES)))
|
||||
endif
|
||||
|
||||
pretty-check:
|
||||
pretty-check: $(PRETTY_FILES)
|
||||
ifneq ($(PRETTY_CHECK),)
|
||||
$(call nl-make-pretty,$(AM_V_PRETTY_CHECK),$(PRETTY_CHECK),$(PRETTY_CHECK_ARGS))
|
||||
$(call nl-make-pretty,$(AM_V_PRETTY_CHECK),$(PRETTY_CHECK),$(PRETTY_CHECK_ARGS),$(filter-out $(@)-recursive,$(PRETTY_FILES)))
|
||||
endif
|
||||
|
||||
@@ -77,5 +77,30 @@ $(NL_V_LCOV)$(LCOV) $(NL_V_LCOV_FLAGS) --config-file="$(abs_top_nlbuild_autotool
|
||||
$(NL_V_GENHTML)$(GENHTML) $(NL_V_GENHTML_FLAGS) --config-file="$(abs_top_nlbuild_autotools_dir)/etc/lcov.config" "$(@)" --output-directory "$(@D)"
|
||||
endef # generate-coverage-report
|
||||
|
||||
#
|
||||
# generate-coverage-report-with-filter <directory> <remove_filter>
|
||||
#
|
||||
# Capture, using lcov, a coverage report from the specified directory 'directory' and a filter 'remove_filter'
|
||||
# with an final output "info" file as specified by the target variable.
|
||||
#
|
||||
# <directory> - The directory from which lcov should search for coverage data (*.gcno & *.gcda)
|
||||
#
|
||||
# <remove_filter> - The filter is a whitespace-separated list of shell wildcard patterns. (note that they may need to be escaped accordingly to prevent
|
||||
# the shell from expanding them first). Every file entry in tracefile which matches at least one of those patterns will be removed.
|
||||
#
|
||||
# - create baseline coverage data file (base.info) with '-i|--initial' option
|
||||
# - create test coverage data file (test.info)
|
||||
# - combine baseline and test coverage data to create the final "info" file
|
||||
# - remove particular coverage data specifiled by the remove_filter (no change if remove_filter is null)
|
||||
#
|
||||
# Then, on success, generate an HTML-based coverage report using genhtml.
|
||||
#
|
||||
define generate-coverage-report-with-filter
|
||||
$(NL_V_LCOV)$(LCOV) $(NL_V_LCOV_FLAGS) --config-file="$(abs_top_nlbuild_autotools_dir)/etc/lcov.config" --initial --capture --directory "$(1)" --output-file "base.info"
|
||||
$(NL_V_LCOV)$(LCOV) $(NL_V_LCOV_FLAGS) --config-file="$(abs_top_nlbuild_autotools_dir)/etc/lcov.config" --capture --directory "$(1)" --output-file "test.info"
|
||||
$(NL_V_LCOV)$(LCOV) $(NL_V_LCOV_FLAGS) --config-file="$(abs_top_nlbuild_autotools_dir)/etc/lcov.config" --add-tracefile "base.info" --add-tracefile "test.info" --output-file "$(@)"
|
||||
$(NL_V_LCOV)$(LCOV) $(NL_V_LCOV_FLAGS) --config-file="$(abs_top_nlbuild_autotools_dir)/etc/lcov.config" --remove "$(@)" $(foreach pattern,$(2),"$(pattern)") --output-file "$(@)"
|
||||
$(NL_V_GENHTML)$(GENHTML) $(NL_V_GENHTML_FLAGS) --config-file="$(abs_top_nlbuild_autotools_dir)/etc/lcov.config" "$(@)" --output-directory "$(@D)"
|
||||
endef # generate-coverage-report-with-filter
|
||||
|
||||
|
||||
|
||||
+62
-21
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright 2014-2016 Nest Labs Inc. All Rights Reserved.
|
||||
# Copyright 2014-2017 Nest Labs Inc. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -58,8 +58,14 @@ usage() {
|
||||
# script.
|
||||
#
|
||||
removetmp() {
|
||||
rm -f "${LIBTOOLIZE}"
|
||||
rm -f "${AUTOM4TE_CFG}"
|
||||
if [ -n "${LIBTOOLIZE}" ] && [ "${LIBTOOLIZE}" = "${BOOTSTRAP_TMPDIR}/libtoolize" ]; then
|
||||
rm -f "${LIBTOOLIZE}"
|
||||
fi
|
||||
|
||||
if [ -n "${AUTOM4TE_CFG}" ]; then
|
||||
rm -f "${AUTOM4TE_CFG}"
|
||||
fi
|
||||
|
||||
rm -r -f "${BOOTSTRAP_TMPDIR}"
|
||||
}
|
||||
|
||||
@@ -134,26 +140,50 @@ abs_top_hostdir="${nlbuild_autotools_dir}/tools/host"
|
||||
|
||||
host=`${nlbuild_autotools_dir}/autoconf/config.guess | sed -e 's/[[:digit:].]*$//g'`
|
||||
|
||||
# Attempt to be self-sufficient, relying on GNU autotools executables
|
||||
# installed along with the SDK itself.
|
||||
# If possible, attempt to be self-sufficient, relying on GNU autotools
|
||||
# executables installed along with the SDK itself.
|
||||
|
||||
export PATH="${abs_top_hostdir}/bin:${abs_top_hostdir}/${host}/bin:${PATH}"
|
||||
if [ -d "${abs_top_hostdir}/${host}/bin" ]; then
|
||||
export PATH="${abs_top_hostdir}/${host}/bin:${PATH}"
|
||||
fi
|
||||
|
||||
if [ -d "${abs_top_hostdir}/bin" ]; then
|
||||
export PATH="${abs_top_hostdir}/bin:${PATH}"
|
||||
fi
|
||||
|
||||
export ACLOCAL=`which aclocal`
|
||||
export AUTOCONF="`which autoconf`"
|
||||
export AUTOHEADER="`which autoheader`"
|
||||
export AUTOM4TE="`which autom4te`"
|
||||
export AUTOMAKE="`which automake`"
|
||||
export LIBTOOLIZE="`which libtoolize || which glibtoolize`"
|
||||
export M4=`which m4`
|
||||
|
||||
# Establish some SDK-specific directories needed to override various
|
||||
# paths in GNU autotools that otherwise expect to be absolute
|
||||
# (e.g. /usr/share, etc.).
|
||||
# Establish, if necessary, some SDK-specific directories needed to
|
||||
# override various paths in GNU autotools that otherwise expect to be
|
||||
# absolute (e.g. /usr/share, etc.).
|
||||
|
||||
export AC_MACRODIR="${abs_top_hostdir}/share/autoconf"
|
||||
if [ -d "${abs_top_hostdir}/share" ]; then
|
||||
if [ -d "${abs_top_hostdir}/share/autoconf" ]; then
|
||||
export AC_MACRODIR="${abs_top_hostdir}/share/autoconf"
|
||||
|
||||
export autom4te_perllibdir="${abs_top_hostdir}/share/autoconf"
|
||||
export PERL5LIB="${abs_top_hostdir}/share/automake-1.14:${PERL5LIB}"
|
||||
export autom4te_perllibdir="${abs_top_hostdir}/share/autoconf"
|
||||
fi
|
||||
|
||||
if [ -d "${abs_top_hostdir}/share/automake-1.14" ]; then
|
||||
export PERL5LIB="${abs_top_hostdir}/share/automake-1.14:${PERL5LIB}"
|
||||
|
||||
make_action_options="--libdir ${abs_top_hostdir}/share/automake-1.14"
|
||||
fi
|
||||
|
||||
if [ -d "${abs_top_hostdir}/share/aclocal-1.14" ]; then
|
||||
local_action_options="--automake-acdir=${abs_top_hostdir}/share/aclocal-1.14 ${local_action_options}"
|
||||
fi
|
||||
|
||||
if [ -d "${abs_top_hostdir}/share/aclocal" ]; then
|
||||
local_action_options="--system-acdir=${abs_top_hostdir}/share/aclocal ${local_action_options}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Both autom4te.cfg and libtoolize, as installed from source, want to
|
||||
# use absolute file system paths that cannot be
|
||||
@@ -164,9 +194,6 @@ BOOTSTRAP_TMPDIR="`mktemp -d /tmp/tmp.bootstrapXXXXXX`"
|
||||
|
||||
trap "removetmp" 1 2 3 9 15
|
||||
|
||||
export AUTOM4TE_CFG="${BOOTSTRAP_TMPDIR}/autom4te.cfg"
|
||||
export LIBTOOLIZE="${BOOTSTRAP_TMPDIR}/libtoolize"
|
||||
|
||||
#
|
||||
# Generate any temporary files that need to be patched at run time
|
||||
# with the location of the SDK tree, including:
|
||||
@@ -175,12 +202,23 @@ export LIBTOOLIZE="${BOOTSTRAP_TMPDIR}/libtoolize"
|
||||
# - The libtoolize executable script
|
||||
#
|
||||
|
||||
sed -e "s,//share/autoconf,${abs_top_hostdir}/share/autoconf,g" < "${abs_top_hostdir}/share/autoconf/autom4te.cfg" > "${AUTOM4TE_CFG}"
|
||||
if [ -r "${abs_top_hostdir}/share/autoconf/autom4te.cfg" ]; then
|
||||
export AUTOM4TE_CFG="${BOOTSTRAP_TMPDIR}/autom4te.cfg"
|
||||
|
||||
sed -e "s,//share/libtool,${abs_top_hostdir}/share/libtool,g" -e "s,//share/aclocal,${abs_top_hostdir}/share/aclocal,g" < "${abs_top_hostdir}/${host}/bin/libtoolize" > "${LIBTOOLIZE}"
|
||||
chmod 775 "${LIBTOOLIZE}"
|
||||
sed -e "s,//share/autoconf,${abs_top_hostdir}/share/autoconf,g" < "${abs_top_hostdir}/share/autoconf/autom4te.cfg" > "${AUTOM4TE_CFG}"
|
||||
fi
|
||||
|
||||
if [ -r "${abs_top_hostdir}/${host}/bin/libtoolize" ]; then
|
||||
export LIBTOOLIZE="${BOOTSTRAP_TMPDIR}/libtoolize"
|
||||
|
||||
sed -e "s,//share/libtool,${abs_top_hostdir}/share/libtool,g" -e "s,//share/aclocal,${abs_top_hostdir}/share/aclocal,g" < "${abs_top_hostdir}/${host}/bin/libtoolize" > "${LIBTOOLIZE}"
|
||||
|
||||
chmod 775 "${LIBTOOLIZE}"
|
||||
fi
|
||||
|
||||
if [ -n "${verbose}" ]; then
|
||||
echo PATH="${PATH}"
|
||||
|
||||
echo ACLOCAL="${ACLOCAL}"
|
||||
echo AUTOCONF="${AUTOCONF}"
|
||||
echo AUTOHEADER="${AUTOHEADER}"
|
||||
@@ -193,14 +231,17 @@ if [ -n "${verbose}" ]; then
|
||||
echo AUTOM4TE_CFG="${AUTOM4TE_CFG}"
|
||||
echo PERL5LIB="${PERL5LIB}"
|
||||
echo autom4te_perllibdir="${autom4te_perllibdir}"
|
||||
|
||||
echo local_action_options="${local_action_options}"
|
||||
echo make_action_options="${make_action_options}"
|
||||
fi
|
||||
|
||||
# Set up the default actions for each bootstrap stage.
|
||||
|
||||
local_action="${ACLOCAL} ${verbose} --automake-acdir=${abs_top_hostdir}/share/aclocal-1.14 --system-acdir=${abs_top_hostdir}/share/aclocal -I${nlbuild_autotools_dir}/autoconf/m4"
|
||||
local_action="${ACLOCAL} ${verbose} ${local_action_options}"
|
||||
header_action="${AUTOHEADER} ${verbose}"
|
||||
tool_action="${LIBTOOLIZE} ${verbose} --automake --copy --force"
|
||||
make_action="${AUTOMAKE} ${verbose} --libdir ${abs_top_hostdir}/share/automake-1.14 --add-missing --copy"
|
||||
make_action="${AUTOMAKE} ${verbose} ${make_action_options} --add-missing --copy"
|
||||
config_action="${AUTOCONF} ${verbose}"
|
||||
|
||||
# Determine what needs to be short-circuited based on the
|
||||
@@ -236,7 +277,7 @@ esac
|
||||
|
||||
# Bootstrap the package.
|
||||
|
||||
${local_action} && ${header_action} && ${tool_action} && ${make_action} && ${config_action}
|
||||
${local_action} && ${tool_action} && ${header_action} && ${make_action} && ${config_action}
|
||||
|
||||
# Clean up any temporary files created.
|
||||
|
||||
|
||||
+139
@@ -0,0 +1,139 @@
|
||||
#
|
||||
# Copyright 2017 Nest Labs Inc. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
#
|
||||
# Description:
|
||||
# This make file supports generating prebuilt architecture
|
||||
# -independent and -dependent distributions of nlbuild-autotools
|
||||
# binaries for the architeture of the current build host.
|
||||
#
|
||||
|
||||
include ../Common.mak
|
||||
|
||||
#
|
||||
# Build directories
|
||||
#
|
||||
|
||||
builddir := .
|
||||
top_builddir := ..
|
||||
abs_builddir := $(CURDIR)
|
||||
abs_top_builddir := $(abspath $(top_builddir))
|
||||
|
||||
#
|
||||
# Source directories
|
||||
#
|
||||
|
||||
srcdir := .
|
||||
top_srcdir := ..
|
||||
abs_srcdir := $(CURDIR)
|
||||
abs_top_srcdir := $(abspath $(top_srcdir))
|
||||
|
||||
# Figure out what sort of build host we are running on, stripping off
|
||||
# any trailing version number information typically included on Darwin
|
||||
# / Mac OS X.
|
||||
|
||||
host := $(shell $(top_srcdir)/autoconf/config.guess | $(SED) -e 's/[[:digit:].]*$$//g')
|
||||
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
|
||||
dist_tgz_TARGETS = ${top_builddir}/${PACKAGE}-common-$(VERSION)$(TGZ_EXTENSION) \
|
||||
${top_builddir}/${PACKAGE}-${host}-$(VERSION)$(TGZ_EXTENSION)
|
||||
|
||||
dist_txz_TARGETS = ${top_builddir}/${PACKAGE}-common-$(VERSION)$(TXZ_EXTENSION) \
|
||||
${top_builddir}/${PACKAGE}-${host}-$(VERSION)$(TXZ_EXTENSION)
|
||||
|
||||
dist_common_DIRS = share include
|
||||
dist_arch_DIRS = $(host)
|
||||
|
||||
PACKAGE_VERSION = $(shell $(CAT) $(top_builddir)/.local-version)
|
||||
|
||||
VERSION = $(PACKAGE_VERSION)
|
||||
|
||||
DIST_TMPDIR := $(shell mktemp -u -p /tmp -d tmp.$(PACKAGE)-$(VERSION)XXXXXX)
|
||||
TOOLS_TMPDIR := $(shell mktemp -u -p /tmp -d tmp.$(PACKAGE)-$(VERSION)XXXXXX)
|
||||
|
||||
#
|
||||
# Verbosity
|
||||
#
|
||||
_NL_V_BUILD = $(_NL_V_BUILD_$(V))
|
||||
_NL_V_BUILD_ = $(_NL_V_BUILD_$(NL_DEFAULT_VERBOSITY))
|
||||
_NL_V_BUILD_0 = @echo " BUILD";
|
||||
_NL_V_BUILD_1 =
|
||||
|
||||
dist-tgz: $(dist_tgz_TARGETS)
|
||||
|
||||
dist-txz: $(dist_txz_TARGETS)
|
||||
|
||||
#
|
||||
# Produce prebuilt GNU autotools binaries for the architecture of the
|
||||
# current build machine and install them in this nlbuild-autotools
|
||||
# package.
|
||||
#
|
||||
tools:
|
||||
$(call nl-remove-dir,$(TOOLS_TMPDIR))
|
||||
$(call nl-create-dir,$(TOOLS_TMPDIR))
|
||||
$(_NL_V_BUILD)${srcdir}/packages/build --arch ${host} --srcdir ${abs_srcdir}/packages --builddir "${TOOLS_TMPDIR}" --destdir "${abs_top_srcdir}/tools/host"
|
||||
$(call nl-remove-dir,$(TOOLS_TMPDIR))
|
||||
|
||||
#
|
||||
# Produce prebuilt GNU autotools architecture-dependent and -independent
|
||||
# binaries for the architecture of the current build machine and package
|
||||
# them up for distribution.
|
||||
#
|
||||
dist toolsdist: $(DIST_TARGETS)
|
||||
$(call nl-remove-dir,$(DIST_TMPDIR))
|
||||
|
||||
#
|
||||
# Stage the distribution files to a distribution directory
|
||||
#
|
||||
stage:
|
||||
$(call nl-remove-dir,$(DIST_TMPDIR))
|
||||
$(call nl-create-dir,$(DIST_TMPDIR))
|
||||
$(_NL_V_BUILD)${srcdir}/packages/build --arch ${host} --srcdir ${abs_srcdir}/packages --builddir "${DIST_TMPDIR}" --destdir "${DIST_TMPDIR}"
|
||||
|
||||
#
|
||||
# Produce prebuilt GNU autotools architecture-independent binaries for
|
||||
# the architecture of the current build machine and package them up
|
||||
# for distribution in tar-gzip format.
|
||||
#
|
||||
${top_builddir}/${PACKAGE}-common-$(VERSION)$(TGZ_EXTENSION): stage
|
||||
$(NL_V_TGZ)$(dist_tgz_ARCHIVE) --directory ${DIST_TMPDIR} $(dist_common_DIRS) | $(dist_tgz_COMPRESS) > "$(@)"
|
||||
|
||||
#
|
||||
# Produce prebuilt GNU autotools architecture-dependent binaries for
|
||||
# the architecture of the current build machine and package them up
|
||||
# for distribution in tar-gzip format.
|
||||
#
|
||||
${top_builddir}/${PACKAGE}-${host}-$(VERSION)$(TGZ_EXTENSION): stage
|
||||
$(NL_V_TGZ)$(dist_tgz_ARCHIVE) --directory ${DIST_TMPDIR} $(dist_arch_DIRS) | $(dist_tgz_COMPRESS) > "$(@)"
|
||||
|
||||
#
|
||||
# Produce prebuilt GNU autotools architecture-independent binaries for
|
||||
# the architecture of the current build machine and package them up
|
||||
# for distribution in tar-xz format.
|
||||
#
|
||||
${top_builddir}/${PACKAGE}-common-$(VERSION)$(TXZ_EXTENSION): stage
|
||||
$(NL_V_TXZ)$(dist_txz_ARCHIVE) --directory ${DIST_TMPDIR} $(dist_common_DIRS) | $(dist_txz_COMPRESS) > "$(@)"
|
||||
|
||||
#
|
||||
# Produce prebuilt GNU autotools architecture-dependent binaries for
|
||||
# the architecture of the current build machine and package them up
|
||||
# for distribution in tar-xz format.
|
||||
#
|
||||
${top_builddir}/${PACKAGE}-${host}-$(VERSION)$(TXZ_EXTENSION): stage
|
||||
$(NL_V_TXZ)$(dist_txz_ARCHIVE) --directory ${DIST_TMPDIR} $(dist_arch_DIRS) | $(dist_txz_COMPRESS) > "$(@)"
|
||||
|
||||
clean: clean-local
|
||||
File diff suppressed because it is too large
Load Diff
-1235
File diff suppressed because it is too large
Load Diff
@@ -1,500 +0,0 @@
|
||||
#! /bin/sh
|
||||
# Generated from autoconf.in; do not edit by hand.
|
||||
# autoconf -- create `configure' using m4 macros
|
||||
|
||||
# Copyright (C) 1992, 1993, 1994, 1996, 1999, 2000, 2001, 2002, 2003,
|
||||
# 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
|
||||
# Inc.
|
||||
|
||||
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
## -------------------- ##
|
||||
## M4sh Initialization. ##
|
||||
## -------------------- ##
|
||||
|
||||
# Be more Bourne compatible
|
||||
DUALCASE=1; export DUALCASE # for MKS sh
|
||||
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
|
||||
emulate sh
|
||||
NULLCMD=:
|
||||
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
|
||||
# is contrary to our usage. Disable this feature.
|
||||
alias -g '${1+"$@"}'='"$@"'
|
||||
setopt NO_GLOB_SUBST
|
||||
else
|
||||
case `(set -o) 2>/dev/null` in #(
|
||||
*posix*) :
|
||||
set -o posix ;; #(
|
||||
*) :
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
as_nl='
|
||||
'
|
||||
export as_nl
|
||||
# Printing a long string crashes Solaris 7 /usr/bin/printf.
|
||||
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
|
||||
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
|
||||
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
|
||||
# Prefer a ksh shell builtin over an external printf program on Solaris,
|
||||
# but without wasting forks for bash or zsh.
|
||||
if test -z "$BASH_VERSION$ZSH_VERSION" \
|
||||
&& (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
|
||||
as_echo='print -r --'
|
||||
as_echo_n='print -rn --'
|
||||
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
|
||||
as_echo='printf %s\n'
|
||||
as_echo_n='printf %s'
|
||||
else
|
||||
if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
|
||||
as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
|
||||
as_echo_n='/usr/ucb/echo -n'
|
||||
else
|
||||
as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
|
||||
as_echo_n_body='eval
|
||||
arg=$1;
|
||||
case $arg in #(
|
||||
*"$as_nl"*)
|
||||
expr "X$arg" : "X\\(.*\\)$as_nl";
|
||||
arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
|
||||
esac;
|
||||
expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
|
||||
'
|
||||
export as_echo_n_body
|
||||
as_echo_n='sh -c $as_echo_n_body as_echo'
|
||||
fi
|
||||
export as_echo_body
|
||||
as_echo='sh -c $as_echo_body as_echo'
|
||||
fi
|
||||
|
||||
# The user is always right.
|
||||
if test "${PATH_SEPARATOR+set}" != set; then
|
||||
PATH_SEPARATOR=:
|
||||
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
|
||||
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
|
||||
PATH_SEPARATOR=';'
|
||||
}
|
||||
fi
|
||||
|
||||
|
||||
# IFS
|
||||
# We need space, tab and new line, in precisely that order. Quoting is
|
||||
# there to prevent editors from complaining about space-tab.
|
||||
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
|
||||
# splitting by setting IFS to empty value.)
|
||||
IFS=" "" $as_nl"
|
||||
|
||||
# Find who we are. Look in the path if we contain no directory separator.
|
||||
as_myself=
|
||||
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
|
||||
IFS=$as_save_IFS
|
||||
|
||||
;;
|
||||
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
|
||||
$as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Unset variables that we do not need and which cause bugs (e.g. in
|
||||
# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
|
||||
# suppresses any "Segmentation fault" message there. '((' could
|
||||
# trigger a bug in pdksh 5.2.14.
|
||||
for as_var in BASH_ENV ENV MAIL MAILPATH
|
||||
do eval test x\${$as_var+set} = xset \
|
||||
&& ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
|
||||
done
|
||||
PS1='$ '
|
||||
PS2='> '
|
||||
PS4='+ '
|
||||
|
||||
# NLS nuisances.
|
||||
LC_ALL=C
|
||||
export LC_ALL
|
||||
LANGUAGE=C
|
||||
export LANGUAGE
|
||||
|
||||
# CDPATH.
|
||||
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
|
||||
|
||||
if test "x$CONFIG_SHELL" = x; then
|
||||
as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
|
||||
emulate sh
|
||||
NULLCMD=:
|
||||
# Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
|
||||
# is contrary to our usage. Disable this feature.
|
||||
alias -g '\${1+\"\$@\"}'='\"\$@\"'
|
||||
setopt NO_GLOB_SUBST
|
||||
else
|
||||
case \`(set -o) 2>/dev/null\` in #(
|
||||
*posix*) :
|
||||
set -o posix ;; #(
|
||||
*) :
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
"
|
||||
as_required="as_fn_return () { (exit \$1); }
|
||||
as_fn_success () { as_fn_return 0; }
|
||||
as_fn_failure () { as_fn_return 1; }
|
||||
as_fn_ret_success () { return 0; }
|
||||
as_fn_ret_failure () { return 1; }
|
||||
|
||||
exitcode=0
|
||||
as_fn_success || { exitcode=1; echo as_fn_success failed.; }
|
||||
as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
|
||||
as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
|
||||
as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
|
||||
if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
|
||||
|
||||
else
|
||||
exitcode=1; echo positional parameters were not saved.
|
||||
fi
|
||||
test x\$exitcode = x0 || exit 1"
|
||||
as_suggested=""
|
||||
if (eval "$as_required") 2>/dev/null; then :
|
||||
as_have_required=yes
|
||||
else
|
||||
as_have_required=no
|
||||
fi
|
||||
if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
|
||||
|
||||
else
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
as_found=false
|
||||
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
as_found=:
|
||||
case $as_dir in #(
|
||||
/*)
|
||||
for as_base in sh bash ksh sh5; do
|
||||
# Try only shells that exist, to save several forks.
|
||||
as_shell=$as_dir/$as_base
|
||||
if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
|
||||
{ $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
|
||||
CONFIG_SHELL=$as_shell as_have_required=yes
|
||||
break 2
|
||||
fi
|
||||
done;;
|
||||
esac
|
||||
as_found=false
|
||||
done
|
||||
$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
|
||||
{ $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
|
||||
CONFIG_SHELL=$SHELL as_have_required=yes
|
||||
fi; }
|
||||
IFS=$as_save_IFS
|
||||
|
||||
|
||||
if test "x$CONFIG_SHELL" != x; then :
|
||||
# We cannot yet assume a decent shell, so we have to provide a
|
||||
# neutralization value for shells without unset; and this also
|
||||
# works around shells that cannot unset nonexistent variables.
|
||||
# Preserve -v and -x to the replacement shell.
|
||||
BASH_ENV=/dev/null
|
||||
ENV=/dev/null
|
||||
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
|
||||
export CONFIG_SHELL
|
||||
case $- in # ((((
|
||||
*v*x* | *x*v* ) as_opts=-vx ;;
|
||||
*v* ) as_opts=-v ;;
|
||||
*x* ) as_opts=-x ;;
|
||||
* ) as_opts= ;;
|
||||
esac
|
||||
exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
|
||||
fi
|
||||
|
||||
if test x$as_have_required = xno; then :
|
||||
$as_echo "$0: This script requires a shell more modern than all"
|
||||
$as_echo "$0: the shells that I found on your system."
|
||||
if test x${ZSH_VERSION+set} = xset ; then
|
||||
$as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
|
||||
$as_echo "$0: be upgraded to zsh 4.3.4 or later."
|
||||
else
|
||||
$as_echo "$0: Please tell [email protected] about your system,
|
||||
$0: including any error possibly output before this
|
||||
$0: message. Then install a modern shell, or manually run
|
||||
$0: the script under such a shell if you do have one."
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
SHELL=${CONFIG_SHELL-/bin/sh}
|
||||
export SHELL
|
||||
# Unset more variables known to interfere with behavior of common tools.
|
||||
CLICOLOR_FORCE= GREP_OPTIONS=
|
||||
unset CLICOLOR_FORCE GREP_OPTIONS
|
||||
|
||||
## --------------------- ##
|
||||
## M4sh Shell Functions. ##
|
||||
## --------------------- ##
|
||||
# as_fn_unset VAR
|
||||
# ---------------
|
||||
# Portably unset VAR.
|
||||
as_fn_unset ()
|
||||
{
|
||||
{ eval $1=; unset $1;}
|
||||
}
|
||||
as_unset=as_fn_unset
|
||||
|
||||
# as_fn_set_status STATUS
|
||||
# -----------------------
|
||||
# Set $? to STATUS, without forking.
|
||||
as_fn_set_status ()
|
||||
{
|
||||
return $1
|
||||
} # as_fn_set_status
|
||||
|
||||
# as_fn_exit STATUS
|
||||
# -----------------
|
||||
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
|
||||
as_fn_exit ()
|
||||
{
|
||||
set +e
|
||||
as_fn_set_status $1
|
||||
exit $1
|
||||
} # as_fn_exit
|
||||
|
||||
|
||||
# as_fn_error STATUS ERROR
|
||||
# ------------------------
|
||||
# Output "`basename $0`: error: ERROR" to stderr. Then exit the script with
|
||||
# STATUS, using 1 if that was 0.
|
||||
as_fn_error ()
|
||||
{
|
||||
as_status=$1; test $as_status -eq 0 && as_status=1
|
||||
$as_echo "$as_me: error: $2" >&2
|
||||
as_fn_exit $as_status
|
||||
} # as_fn_error
|
||||
|
||||
if expr a : '\(a\)' >/dev/null 2>&1 &&
|
||||
test "X`expr 00001 : '.*\(...\)'`" = X001; then
|
||||
as_expr=expr
|
||||
else
|
||||
as_expr=false
|
||||
fi
|
||||
|
||||
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
|
||||
as_basename=basename
|
||||
else
|
||||
as_basename=false
|
||||
fi
|
||||
|
||||
as_me=`$as_basename -- "$0" ||
|
||||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
|
||||
X"$0" : 'X\(//\)$' \| \
|
||||
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
$as_echo X/"$0" |
|
||||
sed '/^.*\/\([^/][^/]*\)\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\/\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\/\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'`
|
||||
|
||||
## -------------------- ##
|
||||
## Main body of script. ##
|
||||
## -------------------- ##
|
||||
|
||||
usage="\
|
||||
Usage: $0 [OPTION]... [TEMPLATE-FILE]
|
||||
|
||||
Generate a configuration script from a TEMPLATE-FILE if given, or
|
||||
\`configure.ac' if present, or else \`configure.in'. Output is sent
|
||||
to the standard output if TEMPLATE-FILE is given, else into
|
||||
\`configure'.
|
||||
|
||||
Operation modes:
|
||||
-h, --help print this help, then exit
|
||||
-V, --version print version number, then exit
|
||||
-v, --verbose verbosely report processing
|
||||
-d, --debug don't remove temporary files
|
||||
-f, --force consider all files obsolete
|
||||
-o, --output=FILE save output in FILE (stdout is the default)
|
||||
-W, --warnings=CATEGORY report the warnings falling in CATEGORY [syntax]
|
||||
|
||||
Warning categories include:
|
||||
\`cross' cross compilation issues
|
||||
\`obsolete' obsolete constructs
|
||||
\`syntax' dubious syntactic constructs
|
||||
\`all' all the warnings
|
||||
\`no-CATEGORY' turn off the warnings on CATEGORY
|
||||
\`none' turn off all the warnings
|
||||
\`error' warnings are error
|
||||
|
||||
The environment variables \`M4' and \`WARNINGS' are honored.
|
||||
|
||||
Library directories:
|
||||
-B, --prepend-include=DIR prepend directory DIR to search path
|
||||
-I, --include=DIR append directory DIR to search path
|
||||
|
||||
Tracing:
|
||||
-t, --trace=MACRO[:FORMAT] report the list of calls to MACRO
|
||||
-i, --initialization also trace Autoconf's initialization process
|
||||
|
||||
In tracing mode, no configuration script is created. FORMAT defaults
|
||||
to \`\$f:\$l:\$n:\$%'; see \`autom4te --help' for information about FORMAT.
|
||||
|
||||
Report bugs to <[email protected]>.
|
||||
GNU Autoconf home page: <http://www.gnu.org/software/autoconf/>.
|
||||
General help using GNU software: <http://www.gnu.org/gethelp/>."
|
||||
|
||||
version="\
|
||||
autoconf (GNU Autoconf) 2.68
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
License GPLv3+/Autoconf: GNU GPL version 3 or later
|
||||
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
|
||||
Written by David J. MacKenzie and Akim Demaille."
|
||||
|
||||
help="\
|
||||
Try \`$as_me --help' for more information."
|
||||
|
||||
exit_missing_arg='
|
||||
as_fn_error $? "option \`$1'\'' requires an argument$as_nl$help"'
|
||||
# restore font-lock: '
|
||||
|
||||
# Variables.
|
||||
: ${AUTOM4TE='/i686-pc-cygwin/bin/autom4te'}
|
||||
autom4te_options=
|
||||
outfile=
|
||||
verbose=false
|
||||
|
||||
# Parse command line.
|
||||
while test $# -gt 0 ; do
|
||||
option=`expr "x$1" : 'x\(--[^=]*\)' \| \
|
||||
"x$1" : 'x\(-.\)'`
|
||||
optarg=`expr "x$1" : 'x--[^=]*=\(.*\)' \| \
|
||||
"x$1" : 'x-.\(.*\)'`
|
||||
case $1 in
|
||||
--version | -V )
|
||||
echo "$version" ; exit ;;
|
||||
--help | -h )
|
||||
$as_echo "$usage"; exit ;;
|
||||
|
||||
--verbose | -v )
|
||||
verbose=:
|
||||
autom4te_options="$autom4te_options $1"; shift ;;
|
||||
|
||||
# Arguments passed as is to autom4te.
|
||||
--debug | -d | \
|
||||
--force | -f | \
|
||||
--include=* | -I?* | \
|
||||
--prepend-include=* | -B?* | \
|
||||
--warnings=* | -W?* )
|
||||
case $1 in
|
||||
*\'*) arg=`$as_echo "$1" | sed "s/'/'\\\\\\\\''/g"` ;; #'
|
||||
*) arg=$1 ;;
|
||||
esac
|
||||
autom4te_options="$autom4te_options '$arg'"; shift ;;
|
||||
# Options with separated arg passed as is to autom4te.
|
||||
--include | -I | \
|
||||
--prepend-include | -B | \
|
||||
--warnings | -W )
|
||||
test $# = 1 && eval "$exit_missing_arg"
|
||||
case $2 in
|
||||
*\'*) arg=`$as_echo "$2" | sed "s/'/'\\\\\\\\''/g"` ;; #'
|
||||
*) arg=$2 ;;
|
||||
esac
|
||||
autom4te_options="$autom4te_options $option '$arg'"
|
||||
shift; shift ;;
|
||||
|
||||
--trace=* | -t?* )
|
||||
traces="$traces --trace='"`$as_echo "$optarg" | sed "s/'/'\\\\\\\\''/g"`"'"
|
||||
shift ;;
|
||||
--trace | -t )
|
||||
test $# = 1 && eval "$exit_missing_arg"
|
||||
traces="$traces --trace='"`$as_echo "$2" | sed "s/'/'\\\\\\\\''/g"`"'"
|
||||
shift; shift ;;
|
||||
--initialization | -i )
|
||||
autom4te_options="$autom4te_options --melt"
|
||||
shift;;
|
||||
|
||||
--output=* | -o?* )
|
||||
outfile=$optarg
|
||||
shift ;;
|
||||
--output | -o )
|
||||
test $# = 1 && eval "$exit_missing_arg"
|
||||
outfile=$2
|
||||
shift; shift ;;
|
||||
|
||||
-- ) # Stop option processing
|
||||
shift; break ;;
|
||||
- ) # Use stdin as input.
|
||||
break ;;
|
||||
-* )
|
||||
exec >&2
|
||||
as_fn_error $? "invalid option \`$1'$as_nl$help" ;; #`
|
||||
* )
|
||||
break ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Find the input file.
|
||||
case $# in
|
||||
0)
|
||||
if test -f configure.ac; then
|
||||
if test -f configure.in; then
|
||||
$as_echo "$as_me: warning: both \`configure.ac' and \`configure.in' are present." >&2
|
||||
$as_echo "$as_me: warning: proceeding with \`configure.ac'." >&2
|
||||
fi
|
||||
infile=configure.ac
|
||||
elif test -f configure.in; then
|
||||
infile=configure.in
|
||||
else
|
||||
as_fn_error $? "no input file"
|
||||
fi
|
||||
test -z "$traces" && test -z "$outfile" && outfile=configure;;
|
||||
1)
|
||||
infile=$1 ;;
|
||||
*) exec >&2
|
||||
as_fn_error $? "invalid number of arguments$as_nl$help" ;;
|
||||
esac
|
||||
|
||||
# Unless specified, the output is stdout.
|
||||
test -z "$outfile" && outfile=-
|
||||
|
||||
# Run autom4te with expansion.
|
||||
eval set x "$autom4te_options" \
|
||||
--language=autoconf --output=\"\$outfile\" "$traces" \"\$infile\"
|
||||
shift
|
||||
$verbose && $as_echo "$as_me: running $AUTOM4TE $*" >&2
|
||||
exec "$AUTOM4TE" "$@"
|
||||
@@ -1,304 +0,0 @@
|
||||
#! /usr/bin/perl
|
||||
# -*- Perl -*-
|
||||
# Generated from autoheader.in; do not edit by hand.
|
||||
|
||||
eval 'case $# in 0) exec /usr/bin/perl -S "$0";; *) exec /usr/bin/perl -S "$0" "$@";; esac'
|
||||
if 0;
|
||||
|
||||
# autoheader -- create `config.h.in' from `configure.ac'
|
||||
|
||||
# Copyright (C) 1992, 1993, 1994, 1996, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
|
||||
# Foundation, Inc.
|
||||
|
||||
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Written by Roland McGrath.
|
||||
# Rewritten in Perl by Akim Demaille.
|
||||
|
||||
BEGIN
|
||||
{
|
||||
my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '//share/autoconf';
|
||||
unshift @INC, "$pkgdatadir";
|
||||
|
||||
# Override SHELL. On DJGPP SHELL may not be set to a shell
|
||||
# that can handle redirection and quote arguments correctly,
|
||||
# e.g.: COMMAND.COM. For DJGPP always use the shell that configure
|
||||
# has detected.
|
||||
$ENV{'SHELL'} = '/bin/sh' if ($^O eq 'dos');
|
||||
}
|
||||
|
||||
use Autom4te::ChannelDefs;
|
||||
use Autom4te::Channels;
|
||||
use Autom4te::Configure_ac;
|
||||
use Autom4te::FileUtils;
|
||||
use Autom4te::General;
|
||||
use Autom4te::XFile;
|
||||
use strict;
|
||||
|
||||
# Using `do FILE', we need `local' vars.
|
||||
use vars qw ($config_h %verbatim %symbol);
|
||||
|
||||
# Lib files.
|
||||
my $autom4te = $ENV{'AUTOM4TE'} || '/i686-pc-cygwin/bin/autom4te';
|
||||
local $config_h;
|
||||
my $config_h_in;
|
||||
my @prepend_include;
|
||||
my @include;
|
||||
|
||||
|
||||
# $HELP
|
||||
# -----
|
||||
$help = "Usage: $0 [OPTION]... [TEMPLATE-FILE]
|
||||
|
||||
Create a template file of C \`\#define\' statements for \`configure\' to
|
||||
use. To this end, scan TEMPLATE-FILE, or \`configure.ac\' if present,
|
||||
or else \`configure.in\'.
|
||||
|
||||
-h, --help print this help, then exit
|
||||
-V, --version print version number, then exit
|
||||
-v, --verbose verbosely report processing
|
||||
-d, --debug don\'t remove temporary files
|
||||
-f, --force consider all files obsolete
|
||||
-W, --warnings=CATEGORY report the warnings falling in CATEGORY
|
||||
|
||||
" . Autom4te::ChannelDefs::usage () . "
|
||||
|
||||
Library directories:
|
||||
-B, --prepend-include=DIR prepend directory DIR to search path
|
||||
-I, --include=DIR append directory DIR to search path
|
||||
|
||||
Report bugs to <bug-autoconf\@gnu.org>.
|
||||
GNU Autoconf home page: <http://www.gnu.org/software/autoconf/>.
|
||||
General help using GNU software: <http://www.gnu.org/gethelp/>.
|
||||
";
|
||||
|
||||
|
||||
# $VERSION
|
||||
# --------
|
||||
$version = "autoheader (GNU Autoconf) 2.68
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
License GPLv3+/Autoconf: GNU GPL version 3 or later
|
||||
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
|
||||
Written by Roland McGrath and Akim Demaille.
|
||||
";
|
||||
|
||||
|
||||
## ---------- ##
|
||||
## Routines. ##
|
||||
## ---------- ##
|
||||
|
||||
|
||||
# parse_args ()
|
||||
# -------------
|
||||
# Process any command line arguments.
|
||||
sub parse_args ()
|
||||
{
|
||||
my $srcdir;
|
||||
|
||||
parse_WARNINGS;
|
||||
getopt ('I|include=s' => \@include,
|
||||
'B|prepend-include=s' => \@prepend_include,
|
||||
'W|warnings=s' => \&parse_warnings);
|
||||
|
||||
if (! @ARGV)
|
||||
{
|
||||
my $configure_ac = require_configure_ac;
|
||||
push @ARGV, $configure_ac;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
## -------------- ##
|
||||
## Main program. ##
|
||||
## -------------- ##
|
||||
|
||||
mktmpdir ('ah');
|
||||
switch_warning 'obsolete';
|
||||
parse_args;
|
||||
|
||||
# Preach.
|
||||
my $config_h_top = find_file ("config.h.top?",
|
||||
reverse (@prepend_include), @include);
|
||||
my $config_h_bot = find_file ("config.h.bot?",
|
||||
reverse (@prepend_include), @include);
|
||||
my $acconfig_h = find_file ("acconfig.h?",
|
||||
reverse (@prepend_include), @include);
|
||||
if ($config_h_top || $config_h_bot || $acconfig_h)
|
||||
{
|
||||
my $msg = << "END";
|
||||
Using auxiliary files such as \`acconfig.h\', \`config.h.bot\'
|
||||
and \`config.h.top\', to define templates for \`config.h.in\'
|
||||
is deprecated and discouraged.
|
||||
|
||||
Using the third argument of \`AC_DEFINE\' and
|
||||
\`AC_DEFINE_UNQUOTED\' allows one to define a template without
|
||||
\`acconfig.h\':
|
||||
|
||||
AC_DEFINE([NEED_FUNC_MAIN], 1,
|
||||
[Define if a function \`main\' is needed.])
|
||||
|
||||
More sophisticated templates can also be produced, see the
|
||||
documentation.
|
||||
END
|
||||
$msg =~ s/^ /WARNING: /gm;
|
||||
msg 'obsolete', $msg;
|
||||
}
|
||||
|
||||
# Set up autoconf.
|
||||
my $autoconf = "'$autom4te' --language=autoconf ";
|
||||
$autoconf .= join (' --include=', '', map { shell_quote ($_) } @include);
|
||||
$autoconf .= join (' --prepend-include=', '', map { shell_quote ($_) } @prepend_include);
|
||||
$autoconf .= ' --debug' if $debug;
|
||||
$autoconf .= ' --force' if $force;
|
||||
$autoconf .= ' --verbose' if $verbose;
|
||||
|
||||
# ----------------------- #
|
||||
# Real work starts here. #
|
||||
# ----------------------- #
|
||||
|
||||
# Source what the traces are trying to tell us.
|
||||
verb "$me: running $autoconf to trace from $ARGV[0]";
|
||||
my $quoted_tmp = shell_quote ($tmp);
|
||||
xsystem ("$autoconf"
|
||||
# If you change this list, update the
|
||||
# `Autoheader-preselections' section of autom4te.in.
|
||||
. ' --trace AC_CONFIG_HEADERS:\'$$config_h ||= \'"\'"\'$1\'"\'"\';\''
|
||||
. ' --trace AH_OUTPUT:\'$$verbatim{\'"\'"\'$1\'"\'"\'} = \'"\'"\'$2\'"\'"\';\''
|
||||
. ' --trace AC_DEFINE_TRACE_LITERAL:\'$$symbol{\'"\'"\'$1\'"\'"\'} = 1;\''
|
||||
. " " . shell_quote ($ARGV[0]) . " >$quoted_tmp/traces.pl");
|
||||
|
||||
local (%verbatim, %symbol);
|
||||
debug "$me: \`do'ing $tmp/traces.pl:\n" . `sed 's/^/| /' $quoted_tmp/traces.pl`;
|
||||
do "$tmp/traces.pl";
|
||||
warn "couldn't parse $tmp/traces.pl: $@" if $@;
|
||||
unless ($config_h)
|
||||
{
|
||||
error "error: AC_CONFIG_HEADERS not found in $ARGV[0]";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
# We template only the first CONFIG_HEADER.
|
||||
$config_h =~ s/ .*//;
|
||||
# Support "outfile[:infile]", defaulting infile="outfile.in".
|
||||
($config_h, $config_h_in) = split (':', $config_h, 2);
|
||||
$config_h_in ||= "$config_h.in";
|
||||
|
||||
# %SYMBOL might contain things like `F77_FUNC(name,NAME)', but we keep
|
||||
# only the name of the macro.
|
||||
%symbol = map { s/\(.*//; $_ => 1 } keys %symbol;
|
||||
|
||||
my $out = new Autom4te::XFile ("> " . open_quote ("$tmp/config.hin"));
|
||||
|
||||
# Don't write "do not edit" -- it will get copied into the
|
||||
# config.h, which it's ok to edit.
|
||||
print $out "/* $config_h_in. Generated from $ARGV[0] by autoheader. */\n";
|
||||
|
||||
# Dump the top.
|
||||
if ($config_h_top)
|
||||
{
|
||||
my $in = new Autom4te::XFile ("< " . open_quote ($config_h_top));
|
||||
while ($_ = $in->getline)
|
||||
{
|
||||
print $out $_;
|
||||
}
|
||||
}
|
||||
|
||||
# Dump `acconfig.h', except for its bottom portion.
|
||||
if ($acconfig_h)
|
||||
{
|
||||
my $in = new Autom4te::XFile ("< " . open_quote ($acconfig_h));
|
||||
while ($_ = $in->getline)
|
||||
{
|
||||
last if /\@BOTTOM\@/;
|
||||
next if /\@TOP\@/;
|
||||
print $out $_;
|
||||
}
|
||||
}
|
||||
|
||||
# Dump the templates from `configure.ac'.
|
||||
foreach (sort keys %verbatim)
|
||||
{
|
||||
print $out "\n$verbatim{$_}\n";
|
||||
}
|
||||
|
||||
# Dump bottom portion of `acconfig.h'.
|
||||
if ($acconfig_h)
|
||||
{
|
||||
my $in = new Autom4te::XFile ("< " . open_quote ($acconfig_h));
|
||||
my $dump = 0;
|
||||
while ($_ = $in->getline)
|
||||
{
|
||||
print $out $_ if $dump;
|
||||
$dump = 1 if /\@BOTTOM\@/;
|
||||
}
|
||||
}
|
||||
|
||||
# Dump the bottom.
|
||||
if ($config_h_bot)
|
||||
{
|
||||
my $in = new Autom4te::XFile ("< " . open_quote ($config_h_bot));
|
||||
while ($_ = $in->getline)
|
||||
{
|
||||
print $out $_;
|
||||
}
|
||||
}
|
||||
|
||||
$out->close;
|
||||
|
||||
# Check that all the symbols have a template.
|
||||
{
|
||||
my $in = new Autom4te::XFile ("< " . open_quote ("$tmp/config.hin"));
|
||||
my $suggest_ac_define = 1;
|
||||
while ($_ = $in->getline)
|
||||
{
|
||||
my ($symbol) = /^\#\s*\w+\s+(\w+)/
|
||||
or next;
|
||||
delete $symbol{$symbol};
|
||||
}
|
||||
foreach (sort keys %symbol)
|
||||
{
|
||||
msg 'syntax', "warning: missing template: $_";
|
||||
if ($suggest_ac_define)
|
||||
{
|
||||
msg 'syntax', "Use AC_DEFINE([$_], [], [Description])";
|
||||
$suggest_ac_define = 0;
|
||||
}
|
||||
|
||||
}
|
||||
exit 1
|
||||
if keys %symbol;
|
||||
}
|
||||
|
||||
update_file ("$tmp/config.hin", "$config_h_in", $force);
|
||||
|
||||
### Setup "GNU" style for perl-mode and cperl-mode.
|
||||
## Local Variables:
|
||||
## perl-indent-level: 2
|
||||
## perl-continued-statement-offset: 2
|
||||
## perl-continued-brace-offset: 0
|
||||
## perl-brace-offset: 0
|
||||
## perl-brace-imaginary-offset: 0
|
||||
## perl-label-offset: -2
|
||||
## cperl-indent-level: 2
|
||||
## cperl-brace-offset: 0
|
||||
## cperl-continued-brace-offset: 0
|
||||
## cperl-label-offset: -2
|
||||
## cperl-extra-newline-before-brace: t
|
||||
## cperl-merge-trailing-else: nil
|
||||
## cperl-continued-statement-offset: 2
|
||||
## End:
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
-8298
File diff suppressed because it is too large
Load Diff
@@ -1,718 +0,0 @@
|
||||
#! /usr/bin/perl -w
|
||||
# -*- perl -*-
|
||||
# Generated from autoreconf.in; do not edit by hand.
|
||||
|
||||
eval 'case $# in 0) exec /usr/bin/perl -S "$0";; *) exec /usr/bin/perl -S "$0" "$@";; esac'
|
||||
if 0;
|
||||
|
||||
# autoreconf - install the GNU Build System in a directory tree
|
||||
# Copyright (C) 1994, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
|
||||
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Written by David J. MacKenzie.
|
||||
# Extended and rewritten in Perl by Akim Demaille.
|
||||
|
||||
BEGIN
|
||||
{
|
||||
my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '//share/autoconf';
|
||||
unshift @INC, $pkgdatadir;
|
||||
|
||||
# Override SHELL. On DJGPP SHELL may not be set to a shell
|
||||
# that can handle redirection and quote arguments correctly,
|
||||
# e.g.: COMMAND.COM. For DJGPP always use the shell that configure
|
||||
# has detected.
|
||||
$ENV{'SHELL'} = '/bin/sh' if ($^O eq 'dos');
|
||||
}
|
||||
|
||||
use Autom4te::ChannelDefs;
|
||||
use Autom4te::Channels;
|
||||
use Autom4te::Configure_ac;
|
||||
use Autom4te::FileUtils;
|
||||
use Autom4te::General;
|
||||
use Autom4te::XFile;
|
||||
# Do not use Cwd::chdir, since it might hang.
|
||||
use Cwd 'cwd';
|
||||
use strict;
|
||||
|
||||
## ----------- ##
|
||||
## Variables. ##
|
||||
## ----------- ##
|
||||
|
||||
# $HELP
|
||||
# -----
|
||||
$help = "Usage: $0 [OPTION]... [DIRECTORY]...
|
||||
|
||||
Run `autoconf' (and `autoheader', `aclocal', `automake', `autopoint'
|
||||
(formerly `gettextize'), and `libtoolize' where appropriate)
|
||||
repeatedly to remake the GNU Build System files in specified
|
||||
DIRECTORIES and their subdirectories (defaulting to `.').
|
||||
|
||||
By default, it only remakes those files that are older than their
|
||||
sources. If you install new versions of the GNU Build System,
|
||||
you can make `autoreconf' remake all of the files by giving it the
|
||||
`--force' option.
|
||||
|
||||
Operation modes:
|
||||
-h, --help print this help, then exit
|
||||
-V, --version print version number, then exit
|
||||
-v, --verbose verbosely report processing
|
||||
-d, --debug don't remove temporary files
|
||||
-f, --force consider all files obsolete
|
||||
-i, --install copy missing auxiliary files
|
||||
--no-recursive don't rebuild sub-packages
|
||||
-s, --symlink with -i, install symbolic links instead of copies
|
||||
-m, --make when applicable, re-run ./configure && make
|
||||
-W, --warnings=CATEGORY report the warnings falling in CATEGORY [syntax]
|
||||
|
||||
" . Autom4te::ChannelDefs::usage . "
|
||||
|
||||
The environment variable \`WARNINGS\' is honored. Some subtools might
|
||||
support other warning types, using \`all' is encouraged.
|
||||
|
||||
Library directories:
|
||||
-B, --prepend-include=DIR prepend directory DIR to search path
|
||||
-I, --include=DIR append directory DIR to search path
|
||||
|
||||
The environment variables AUTOM4TE, AUTOCONF, AUTOHEADER, AUTOMAKE,
|
||||
ACLOCAL, AUTOPOINT, LIBTOOLIZE, M4, and MAKE are honored.
|
||||
|
||||
Report bugs to <bug-autoconf\@gnu.org>.
|
||||
GNU Autoconf home page: <http://www.gnu.org/software/autoconf/>.
|
||||
General help using GNU software: <http://www.gnu.org/gethelp/>.
|
||||
";
|
||||
|
||||
# $VERSION
|
||||
# --------
|
||||
$version = "autoreconf (GNU Autoconf) 2.68
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
License GPLv3+/Autoconf: GNU GPL version 3 or later
|
||||
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
|
||||
Written by David J. MacKenzie and Akim Demaille.
|
||||
";
|
||||
|
||||
# Lib files.
|
||||
my $autoconf = $ENV{'AUTOCONF'} || '/i686-pc-cygwin/bin/autoconf';
|
||||
my $autoheader = $ENV{'AUTOHEADER'} || '/i686-pc-cygwin/bin/autoheader';
|
||||
my $autom4te = $ENV{'AUTOM4TE'} || '/i686-pc-cygwin/bin/autom4te';
|
||||
my $automake = $ENV{'AUTOMAKE'} || 'automake';
|
||||
my $aclocal = $ENV{'ACLOCAL'} || 'aclocal';
|
||||
my $libtoolize = $ENV{'LIBTOOLIZE'} || 'libtoolize';
|
||||
my $autopoint = $ENV{'AUTOPOINT'} || 'autopoint';
|
||||
my $make = $ENV{'MAKE'} || 'make';
|
||||
|
||||
# --install -- as --add-missing in other tools.
|
||||
my $install = 0;
|
||||
# symlink -- when --install, use symlinks instead.
|
||||
my $symlink = 0;
|
||||
# Does aclocal support --force?
|
||||
my $aclocal_supports_force = 0;
|
||||
# Does aclocal support -Wfoo?
|
||||
my $aclocal_supports_warnings = 0;
|
||||
# Does automake support --force-missing?
|
||||
my $automake_supports_force_missing = 0;
|
||||
# Does automake support -Wfoo?
|
||||
my $automake_supports_warnings = 0;
|
||||
|
||||
my @prepend_include;
|
||||
my @include;
|
||||
|
||||
# List of command line warning requests.
|
||||
my @warning;
|
||||
|
||||
# Rerun `./configure && make'?
|
||||
my $run_make = 0;
|
||||
|
||||
# Recurse into subpackages
|
||||
my $recursive = 1;
|
||||
|
||||
## ---------- ##
|
||||
## Routines. ##
|
||||
## ---------- ##
|
||||
|
||||
|
||||
# parse_args ()
|
||||
# -------------
|
||||
# Process any command line arguments.
|
||||
sub parse_args ()
|
||||
{
|
||||
my $srcdir;
|
||||
|
||||
getopt ("W|warnings=s" => \@warning,
|
||||
'I|include=s' => \@include,
|
||||
'B|prepend-include=s' => \@prepend_include,
|
||||
'i|install' => \$install,
|
||||
's|symlink' => \$symlink,
|
||||
'm|make' => \$run_make,
|
||||
'recursive!' => \$recursive);
|
||||
|
||||
# Split the warnings as a list of elements instead of a list of
|
||||
# lists.
|
||||
@warning = map { split /,/ } @warning;
|
||||
parse_WARNINGS;
|
||||
parse_warnings '--warnings', @warning;
|
||||
|
||||
# Even if the user specified a configure.ac, trim to get the
|
||||
# directory, and look for configure.ac again. Because (i) the code
|
||||
# is simpler, and (ii) we are still able to diagnose simultaneous
|
||||
# presence of configure.ac and configure.in.
|
||||
@ARGV = map { /configure\.(ac|in)$/ ? dirname ($_) : $_ } @ARGV;
|
||||
push @ARGV, '.' unless @ARGV;
|
||||
|
||||
if ($verbose && $debug)
|
||||
{
|
||||
for my $prog ($autoconf, $autoheader,
|
||||
$automake, $aclocal,
|
||||
$autopoint,
|
||||
$libtoolize)
|
||||
{
|
||||
xsystem ("$prog --version | sed 1q >&2");
|
||||
print STDERR "\n";
|
||||
}
|
||||
}
|
||||
|
||||
my $aclocal_help = `$aclocal --help 2>/dev/null`;
|
||||
my $automake_help = `$automake --help 2>/dev/null`;
|
||||
$aclocal_supports_force = $aclocal_help =~ /--force/;
|
||||
$aclocal_supports_warnings = $aclocal_help =~ /--warnings/;
|
||||
$automake_supports_force_missing = $automake_help =~ /--force-missing/;
|
||||
$automake_supports_warnings = $automake_help =~ /--warnings/;
|
||||
|
||||
# Dispatch autoreconf's option to the tools.
|
||||
# --include;
|
||||
$aclocal .= join (' -I ', '', map { shell_quote ($_) } @include);
|
||||
$autoconf .= join (' --include=', '', map { shell_quote ($_) } @include);
|
||||
$autoconf .= join (' --prepend-include=', '', map { shell_quote ($_) } @prepend_include);
|
||||
$autoheader .= join (' --include=', '', map { shell_quote ($_) } @include);
|
||||
$autoheader .= join (' --prepend-include=', '', map { shell_quote ($_) } @prepend_include);
|
||||
|
||||
# --install and --symlink;
|
||||
if ($install)
|
||||
{
|
||||
$automake .= ' --add-missing';
|
||||
$automake .= ' --copy' unless $symlink;
|
||||
$libtoolize .= ' --copy' unless $symlink;
|
||||
}
|
||||
# --force;
|
||||
if ($force)
|
||||
{
|
||||
$aclocal .= ' --force'
|
||||
if $aclocal_supports_force;
|
||||
$autoconf .= ' --force';
|
||||
$autoheader .= ' --force';
|
||||
$automake .= ' --force-missing'
|
||||
if $automake_supports_force_missing;
|
||||
$autopoint .= ' --force';
|
||||
$libtoolize .= ' --force';
|
||||
}
|
||||
else
|
||||
{
|
||||
# The implementation of --no-force is bogus in all implementations
|
||||
# of Automake up to 1.8, so we avoid it in these cases. (Automake
|
||||
# 1.8 is the first version where aclocal supports force, hence
|
||||
# the condition.)
|
||||
$automake .= ' --no-force'
|
||||
if $aclocal_supports_force;
|
||||
}
|
||||
# --verbose --verbose or --debug;
|
||||
if ($verbose > 1 || $debug)
|
||||
{
|
||||
$autoconf .= ' --verbose';
|
||||
$autoheader .= ' --verbose';
|
||||
$automake .= ' --verbose';
|
||||
$aclocal .= ' --verbose';
|
||||
}
|
||||
if ($debug)
|
||||
{
|
||||
$autoconf .= ' --debug';
|
||||
$autoheader .= ' --debug';
|
||||
$libtoolize .= ' --debug';
|
||||
}
|
||||
# --warnings;
|
||||
if (@warning)
|
||||
{
|
||||
my $warn = ' --warnings=' . join (',', @warning);
|
||||
$autoconf .= $warn;
|
||||
$autoheader .= $warn;
|
||||
$automake .= $warn
|
||||
if $automake_supports_warnings;
|
||||
$aclocal .= $warn
|
||||
if $aclocal_supports_warnings;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# &run_aclocal ($ACLOCAL, $FLAGS)
|
||||
# -------------------------------
|
||||
# Update aclocal.m4 as lazily as possible, as aclocal pre-1.8 always
|
||||
# overwrites aclocal.m4, hence triggers autoconf, autoheader, automake
|
||||
# etc. uselessly. aclocal 1.8+ does not need this.
|
||||
sub run_aclocal ($$)
|
||||
{
|
||||
my ($aclocal, $flags) = @_;
|
||||
|
||||
# aclocal 1.8+ does all this for free. It can be recognized by its
|
||||
# --force support.
|
||||
if ($aclocal_supports_force)
|
||||
{
|
||||
xsystem ("$aclocal $flags");
|
||||
}
|
||||
else
|
||||
{
|
||||
xsystem ("$aclocal $flags --output=aclocal.m4t");
|
||||
# aclocal may produce no output.
|
||||
if (-f 'aclocal.m4t')
|
||||
{
|
||||
update_file ('aclocal.m4t', 'aclocal.m4');
|
||||
# Make sure that the local m4 files are older than
|
||||
# aclocal.m4.
|
||||
#
|
||||
# Why is not always the case? Because we already run
|
||||
# aclocal at first (before tracing), which, for instance,
|
||||
# can find Gettext's macros in .../share/aclocal, so we may
|
||||
# have had the right aclocal.m4 already. Then autopoint is
|
||||
# run, and installs locally these M4 files. Then
|
||||
# autoreconf, via update_file, sees it is the _same_
|
||||
# aclocal.m4, and doesn't change its timestamp. But later,
|
||||
# Automake's Makefile expresses that aclocal.m4 depends on
|
||||
# these local files, which are newer, so it triggers aclocal
|
||||
# again.
|
||||
#
|
||||
# To make sure aclocal.m4 is no older, we change the
|
||||
# modification times of the local M4 files to be not newer
|
||||
# than it.
|
||||
#
|
||||
# First, where are the local files?
|
||||
my $aclocal_local_dir = '.';
|
||||
if ($flags =~ /-I\s+(\S+)/)
|
||||
{
|
||||
$aclocal_local_dir = $1;
|
||||
}
|
||||
# All the local files newer than aclocal.m4 are to be
|
||||
# made not newer than it.
|
||||
my $aclocal_m4_mtime = mtime ('aclocal.m4');
|
||||
for my $file (glob ("$aclocal_local_dir/*.m4"), 'acinclude.m4')
|
||||
{
|
||||
if ($aclocal_m4_mtime < mtime ($file))
|
||||
{
|
||||
debug "aging $file to be not newer than aclocal.m4";
|
||||
utime $aclocal_m4_mtime, $aclocal_m4_mtime, $file;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# &autoreconf_current_directory
|
||||
# -----------------------------
|
||||
sub autoreconf_current_directory ()
|
||||
{
|
||||
my $configure_ac = find_configure_ac;
|
||||
|
||||
# ---------------------- #
|
||||
# Is it using Autoconf? #
|
||||
# ---------------------- #
|
||||
|
||||
my $uses_autoconf;
|
||||
my $uses_gettext;
|
||||
if (-f $configure_ac)
|
||||
{
|
||||
my $configure_ac_file = new Autom4te::XFile "< $configure_ac";
|
||||
while ($_ = $configure_ac_file->getline)
|
||||
{
|
||||
s/#.*//;
|
||||
s/dnl.*//;
|
||||
$uses_autoconf = 1 if /AC_INIT/;
|
||||
# See below for why we look for gettext here.
|
||||
$uses_gettext = 1 if /^AM_GNU_GETTEXT_VERSION/;
|
||||
}
|
||||
}
|
||||
if (!$uses_autoconf)
|
||||
{
|
||||
verb "$configure_ac: not using Autoconf";
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
# ------------------- #
|
||||
# Running autopoint. #
|
||||
# ------------------- #
|
||||
|
||||
# Gettext is a bit of a problem: its macros are not necessarily
|
||||
# visible to aclocal, so if we start with a completely striped down
|
||||
# package (think of a fresh CVS checkout), running `aclocal' first
|
||||
# will fail: the Gettext macros are missing.
|
||||
#
|
||||
# Therefore, we can't use the traces to decide if we use Gettext or
|
||||
# not. I guess that once Gettext move to 2.5x we will be able to,
|
||||
# but in the meanwhile forget it.
|
||||
#
|
||||
# We can only grep for AM_GNU_GETTEXT_VERSION in configure.ac. You
|
||||
# might think this approach is naive, and indeed it is, as it
|
||||
# prevents one to embed AM_GNU_GETTEXT_VERSION in another *.m4, but
|
||||
# anyway we don't limit the generality, since... that's what
|
||||
# autopoint does. Actually, it is even more restrictive, as it
|
||||
# greps for `^AM_GNU_GETTEXT_VERSION('. We did this above, while
|
||||
# scanning configure.ac.
|
||||
if (!$uses_gettext)
|
||||
{
|
||||
verb "$configure_ac: not using Gettext";
|
||||
}
|
||||
elsif (!$install)
|
||||
{
|
||||
verb "$configure_ac: not running autopoint: --install not given";
|
||||
}
|
||||
else
|
||||
{
|
||||
xsystem_hint ("autopoint is needed because this package uses Gettext", "$autopoint");
|
||||
}
|
||||
|
||||
|
||||
# ----------------- #
|
||||
# Running aclocal. #
|
||||
# ----------------- #
|
||||
|
||||
# Run it first: it might discover new macros to add, e.g.,
|
||||
# AC_PROG_LIBTOOL, which we will trace later to see if Libtool is
|
||||
# used.
|
||||
#
|
||||
# Always run it. Tracking its sources for up-to-dateness is too
|
||||
# complex and too error prone. The best we can do is avoiding
|
||||
# nuking the time stamp.
|
||||
my $uses_aclocal = 1;
|
||||
|
||||
# Nevertheless, if aclocal.m4 exists and is not made by aclocal,
|
||||
# don't run aclocal.
|
||||
|
||||
if (-f 'aclocal.m4')
|
||||
{
|
||||
my $aclocal_m4 = new Autom4te::XFile 'aclocal.m4';
|
||||
$_ = $aclocal_m4->getline;
|
||||
$uses_aclocal = 0
|
||||
unless defined ($_) && /generated.*by aclocal/;
|
||||
}
|
||||
|
||||
# If there are flags for aclocal in Makefile.am, use them.
|
||||
my $aclocal_flags = '';
|
||||
if ($uses_aclocal && -f 'Makefile.am')
|
||||
{
|
||||
my $makefile = new Autom4te::XFile 'Makefile.am';
|
||||
while ($_ = $makefile->getline)
|
||||
{
|
||||
if (/^ACLOCAL_[A-Z_]*FLAGS\s*=\s*(.*)/)
|
||||
{
|
||||
$aclocal_flags = $1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$uses_aclocal)
|
||||
{
|
||||
verb "$configure_ac: not using aclocal";
|
||||
}
|
||||
else
|
||||
{
|
||||
# Some file systems have sub-second time stamps, and if so we may
|
||||
# run into trouble later, after we rerun autoconf and set the
|
||||
# time stamps of input files to be no greater than aclocal.m4,
|
||||
# because the time-stamp-setting operation (utime) has a
|
||||
# resolution of only 1 second. Work around the problem by
|
||||
# ensuring that there is at least a one-second window before the
|
||||
# time stamp of aclocal.m4t in which no file time stamps can
|
||||
# fall.
|
||||
sleep 1;
|
||||
|
||||
run_aclocal ($aclocal, $aclocal_flags);
|
||||
}
|
||||
|
||||
# We might have to rerun aclocal if Libtool (or others) imports new
|
||||
# macros.
|
||||
my $rerun_aclocal = 0;
|
||||
|
||||
|
||||
|
||||
# ------------------------------- #
|
||||
# See what tools will be needed. #
|
||||
# ------------------------------- #
|
||||
|
||||
# Perform a single trace reading to avoid --force forcing a rerun
|
||||
# between two --trace, that's useless. If there is no AC_INIT, then
|
||||
# we are not interested: it looks like a Cygnus thingy.
|
||||
my $aux_dir;
|
||||
my $uses_gettext_via_traces;
|
||||
my $uses_libtool;
|
||||
my $uses_libltdl;
|
||||
my $uses_autoheader;
|
||||
my $uses_automake;
|
||||
my @subdir;
|
||||
verb "$configure_ac: tracing";
|
||||
my $traces = new Autom4te::XFile
|
||||
("$autoconf"
|
||||
. join (' ',
|
||||
map { ' --trace=' . $_ . ':\$n::\${::}%' }
|
||||
# If you change this list, update the
|
||||
# `Autoreconf-preselections' section of autom4te.in.
|
||||
'AC_CONFIG_AUX_DIR',
|
||||
'AC_CONFIG_HEADERS',
|
||||
'AC_CONFIG_SUBDIRS',
|
||||
'AC_INIT',
|
||||
'AC_PROG_LIBTOOL',
|
||||
'LT_INIT',
|
||||
'LT_CONFIG_LTDL_DIR',
|
||||
'AM_GNU_GETTEXT',
|
||||
'AM_INIT_AUTOMAKE',
|
||||
)
|
||||
. ' |');
|
||||
while ($_ = $traces->getline)
|
||||
{
|
||||
chomp;
|
||||
my ($macro, @args) = split (/::/);
|
||||
$aux_dir = $args[0] if $macro eq "AC_CONFIG_AUX_DIR";
|
||||
$uses_autoconf = 1 if $macro eq "AC_INIT";
|
||||
$uses_gettext_via_traces = 1 if $macro eq "AM_GNU_GETTEXT";
|
||||
$uses_libtool = 1 if $macro eq "AC_PROG_LIBTOOL"
|
||||
|| $macro eq "LT_INIT";
|
||||
$uses_libltdl = 1 if $macro eq "LT_CONFIG_LTDL_DIR";
|
||||
$uses_autoheader = 1 if $macro eq "AC_CONFIG_HEADERS";
|
||||
$uses_automake = 1 if $macro eq "AM_INIT_AUTOMAKE";
|
||||
push @subdir, split (' ', $args[0])
|
||||
if $macro eq "AC_CONFIG_SUBDIRS" && $recursive;
|
||||
}
|
||||
|
||||
# The subdirs are *optional*, they may not exist.
|
||||
foreach (@subdir)
|
||||
{
|
||||
if (-d)
|
||||
{
|
||||
verb "$configure_ac: adding subdirectory $_ to autoreconf";
|
||||
autoreconf ($_);
|
||||
}
|
||||
else
|
||||
{
|
||||
verb "$configure_ac: subdirectory $_ not present";
|
||||
}
|
||||
}
|
||||
|
||||
# Gettext consistency checks...
|
||||
error "$configure_ac: AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION"
|
||||
if $uses_gettext_via_traces && ! $uses_gettext;
|
||||
error "$configure_ac: AM_GNU_GETTEXT_VERSION is used, but not AM_GNU_GETTEXT"
|
||||
if $uses_gettext && ! $uses_gettext_via_traces;
|
||||
|
||||
|
||||
# ---------------------------- #
|
||||
# Setting up the source tree. #
|
||||
# ---------------------------- #
|
||||
|
||||
# libtoolize, automake --add-missing etc. will drop files in the
|
||||
# $AUX_DIR. But these tools fail to install these files if the
|
||||
# directory itself does not exist, which valid: just imagine a CVS
|
||||
# repository with hand written code only (there is not even a need
|
||||
# for a Makefile.am!).
|
||||
|
||||
if (defined $aux_dir && ! -d $aux_dir)
|
||||
{
|
||||
verb "$configure_ac: creating directory $aux_dir";
|
||||
mkdir $aux_dir, 0755
|
||||
or error "cannot create $aux_dir: $!";
|
||||
}
|
||||
|
||||
|
||||
# -------------------- #
|
||||
# Running libtoolize. #
|
||||
# -------------------- #
|
||||
|
||||
if (!$uses_libtool)
|
||||
{
|
||||
verb "$configure_ac: not using Libtool";
|
||||
}
|
||||
elsif ($install)
|
||||
{
|
||||
if ($uses_libltdl)
|
||||
{
|
||||
$libtoolize .= " --ltdl";
|
||||
}
|
||||
xsystem_hint ("libtoolize is needed because this package uses Libtool", $libtoolize);
|
||||
$rerun_aclocal = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
verb "$configure_ac: not running libtoolize: --install not given";
|
||||
}
|
||||
|
||||
|
||||
|
||||
# ------------------- #
|
||||
# Rerunning aclocal. #
|
||||
# ------------------- #
|
||||
|
||||
# If we re-installed Libtool or Gettext, the macros might have changed.
|
||||
# Automake also needs an up-to-date aclocal.m4.
|
||||
if ($rerun_aclocal)
|
||||
{
|
||||
if (!$uses_aclocal)
|
||||
{
|
||||
verb "$configure_ac: not using aclocal";
|
||||
}
|
||||
else
|
||||
{
|
||||
run_aclocal ($aclocal, $aclocal_flags);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# ------------------ #
|
||||
# Running autoconf. #
|
||||
# ------------------ #
|
||||
|
||||
# Don't try to be smarter than `autoconf', which does its own up to
|
||||
# date checks.
|
||||
#
|
||||
# We prefer running autoconf before autoheader, because (i) the
|
||||
# latter runs the former, and (ii) autoconf is stricter than
|
||||
# autoheader. So all in all, autoconf should give better error
|
||||
# messages.
|
||||
xsystem ($autoconf);
|
||||
|
||||
|
||||
# -------------------- #
|
||||
# Running autoheader. #
|
||||
# -------------------- #
|
||||
|
||||
# We now consider that if AC_CONFIG_HEADERS is used, then autoheader
|
||||
# is used too.
|
||||
#
|
||||
# Just as for autoconf, up to date ness is performed by the tool
|
||||
# itself.
|
||||
#
|
||||
# Run it before automake, since the latter checks the presence of
|
||||
# config.h.in when it sees an AC_CONFIG_HEADERS.
|
||||
if (!$uses_autoheader)
|
||||
{
|
||||
verb "$configure_ac: not using Autoheader";
|
||||
}
|
||||
else
|
||||
{
|
||||
xsystem ($autoheader);
|
||||
}
|
||||
|
||||
|
||||
# ------------------ #
|
||||
# Running automake. #
|
||||
# ------------------ #
|
||||
|
||||
if (!$uses_automake)
|
||||
{
|
||||
verb "$configure_ac: not using Automake";
|
||||
}
|
||||
else
|
||||
{
|
||||
# We should always run automake, and let it decide whether it shall
|
||||
# update the file or not. In fact, the effect of `$force' is already
|
||||
# included in `$automake' via `--no-force'.
|
||||
xsystem ($automake);
|
||||
}
|
||||
|
||||
|
||||
# -------------- #
|
||||
# Running make. #
|
||||
# -------------- #
|
||||
|
||||
if ($run_make)
|
||||
{
|
||||
if (!-f "config.status")
|
||||
{
|
||||
verb "no config.status: cannot re-make";
|
||||
}
|
||||
else
|
||||
{
|
||||
xsystem ("./config.status --recheck");
|
||||
xsystem ("./config.status");
|
||||
if (!-f "Makefile")
|
||||
{
|
||||
verb "no Makefile: cannot re-make";
|
||||
}
|
||||
else
|
||||
{
|
||||
xsystem ("$make");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# &autoreconf ($DIRECTORY)
|
||||
# ------------------------
|
||||
# Reconf the $DIRECTORY.
|
||||
sub autoreconf ($)
|
||||
{
|
||||
my ($directory) = @_;
|
||||
my $cwd = cwd;
|
||||
|
||||
# The format for this message is not free: taken from Emacs, itself
|
||||
# using GNU Make's format.
|
||||
verb "Entering directory `$directory'";
|
||||
chdir $directory
|
||||
or error "cannot chdir to $directory: $!";
|
||||
|
||||
autoreconf_current_directory;
|
||||
|
||||
# The format is not free: taken from Emacs, itself using GNU Make's
|
||||
# format.
|
||||
verb "Leaving directory `$directory'";
|
||||
chdir $cwd
|
||||
or error "cannot chdir to $cwd: $!";
|
||||
}
|
||||
|
||||
|
||||
## ------ ##
|
||||
## Main. ##
|
||||
## ------ ##
|
||||
|
||||
# When debugging, it is convenient that all the related temporary
|
||||
# files be at the same place.
|
||||
mktmpdir ('ar');
|
||||
$ENV{'TMPDIR'} = $tmp;
|
||||
parse_args;
|
||||
|
||||
# Autoreconf all the given configure.ac. Unless `--no-recursive' is passed,
|
||||
# AC_CONFIG_SUBDIRS will be traversed in &autoreconf_current_directory.
|
||||
$ENV{'AUTOM4TE'} = $autom4te;
|
||||
for my $directory (@ARGV)
|
||||
{
|
||||
require_configure_ac ($directory);
|
||||
autoreconf ($directory);
|
||||
}
|
||||
|
||||
### Setup "GNU" style for perl-mode and cperl-mode.
|
||||
## Local Variables:
|
||||
## perl-indent-level: 2
|
||||
## perl-continued-statement-offset: 2
|
||||
## perl-continued-brace-offset: 0
|
||||
## perl-brace-offset: 0
|
||||
## perl-brace-imaginary-offset: 0
|
||||
## perl-label-offset: -2
|
||||
## cperl-indent-level: 2
|
||||
## cperl-brace-offset: 0
|
||||
## cperl-continued-brace-offset: 0
|
||||
## cperl-label-offset: -2
|
||||
## cperl-extra-newline-before-brace: t
|
||||
## cperl-merge-trailing-else: nil
|
||||
## cperl-continued-statement-offset: 2
|
||||
## End:
|
||||
@@ -1,679 +0,0 @@
|
||||
#! /usr/bin/perl -w
|
||||
# -*- perl -*-
|
||||
# Generated from autoscan.in; do not edit by hand.
|
||||
|
||||
# autoscan - Create configure.scan (a preliminary configure.ac) for a package.
|
||||
# Copyright (C) 1994, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
|
||||
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Written by David MacKenzie <[email protected]>.
|
||||
|
||||
eval 'case $# in 0) exec /usr/bin/perl -S "$0";; *) exec /usr/bin/perl -S "$0" "$@";; esac'
|
||||
if 0;
|
||||
|
||||
BEGIN
|
||||
{
|
||||
my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '//share/autoconf';
|
||||
unshift @INC, $pkgdatadir;
|
||||
|
||||
# Override SHELL. On DJGPP SHELL may not be set to a shell
|
||||
# that can handle redirection and quote arguments correctly,
|
||||
# e.g.: COMMAND.COM. For DJGPP always use the shell that configure
|
||||
# has detected.
|
||||
$ENV{'SHELL'} = '/bin/sh' if ($^O eq 'dos');
|
||||
}
|
||||
|
||||
use Autom4te::ChannelDefs;
|
||||
use Autom4te::Configure_ac;
|
||||
use Autom4te::General;
|
||||
use Autom4te::FileUtils;
|
||||
use Autom4te::XFile;
|
||||
use File::Basename;
|
||||
use File::Find;
|
||||
use strict;
|
||||
|
||||
use vars qw(@cfiles @makefiles @shfiles @subdirs %printed);
|
||||
|
||||
# The kind of the words we are looking for.
|
||||
my @kinds = qw (function header identifier program
|
||||
makevar librarie);
|
||||
|
||||
# For each kind, the default macro.
|
||||
my %generic_macro =
|
||||
(
|
||||
'function' => 'AC_CHECK_FUNCS',
|
||||
'header' => 'AC_CHECK_HEADERS',
|
||||
'identifier' => 'AC_CHECK_TYPES',
|
||||
'program' => 'AC_CHECK_PROGS',
|
||||
'library' => 'AC_CHECK_LIB'
|
||||
);
|
||||
|
||||
my %kind_comment =
|
||||
(
|
||||
'function' => 'Checks for library functions.',
|
||||
'header' => 'Checks for header files.',
|
||||
'identifier' => 'Checks for typedefs, structures, and compiler characteristics.',
|
||||
'program' => 'Checks for programs.',
|
||||
);
|
||||
|
||||
# $USED{KIND}{ITEM} is the list of locations where the ITEM (of KIND) was used
|
||||
# in the user package.
|
||||
# For instance $USED{function}{alloca} is the list of `file:line' where
|
||||
# `alloca (...)' appears.
|
||||
my %used = ();
|
||||
|
||||
# $MACRO{KIND}{ITEM} is the list of macros to use to test ITEM.
|
||||
# Initialized from lib/autoscan/*. E.g., $MACRO{function}{alloca} contains
|
||||
# the singleton AC_FUNC_ALLOCA. Some require several checks.
|
||||
my %macro = ();
|
||||
|
||||
# $NEEDED_MACROS{MACRO} is an array of locations requiring MACRO.
|
||||
# E.g., $NEEDED_MACROS{AC_FUNC_ALLOC} the list of `file:line' containing
|
||||
# `alloca (...)'.
|
||||
my %needed_macros =
|
||||
(
|
||||
'AC_PREREQ' => [$me],
|
||||
);
|
||||
|
||||
my $configure_scan = 'configure.scan';
|
||||
my $log;
|
||||
|
||||
# Autoconf and lib files.
|
||||
my $autom4te = $ENV{'AUTOM4TE'} || '/i686-pc-cygwin/bin/autom4te';
|
||||
my $autoconf = "$autom4te --language=autoconf";
|
||||
my @prepend_include;
|
||||
my @include = ('//share/autoconf');
|
||||
|
||||
# $help
|
||||
# -----
|
||||
$help = "Usage: $0 [OPTION]... [SRCDIR]
|
||||
|
||||
Examine source files in the directory tree rooted at SRCDIR, or the
|
||||
current directory if none is given. Search the source files for
|
||||
common portability problems, check for incompleteness of
|
||||
`configure.ac', and create a file `$configure_scan' which is a
|
||||
preliminary `configure.ac' for that package.
|
||||
|
||||
-h, --help print this help, then exit
|
||||
-V, --version print version number, then exit
|
||||
-v, --verbose verbosely report processing
|
||||
-d, --debug don't remove temporary files
|
||||
|
||||
Library directories:
|
||||
-B, --prepend-include=DIR prepend directory DIR to search path
|
||||
-I, --include=DIR append directory DIR to search path
|
||||
|
||||
Report bugs to <bug-autoconf\@gnu.org>.
|
||||
GNU Autoconf home page: <http://www.gnu.org/software/autoconf/>.
|
||||
General help using GNU software: <http://www.gnu.org/gethelp/>.
|
||||
";
|
||||
|
||||
# $version
|
||||
# --------
|
||||
$version = "autoscan (GNU Autoconf) 2.68
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
License GPLv3+/Autoconf: GNU GPL version 3 or later
|
||||
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
|
||||
Written by David J. MacKenzie and Akim Demaille.
|
||||
";
|
||||
|
||||
|
||||
|
||||
|
||||
## ------------------------ ##
|
||||
## Command line interface. ##
|
||||
## ------------------------ ##
|
||||
|
||||
# parse_args ()
|
||||
# -------------
|
||||
# Process any command line arguments.
|
||||
sub parse_args ()
|
||||
{
|
||||
getopt ('I|include=s' => \@include,
|
||||
'B|prepend-include=s' => \@prepend_include);
|
||||
|
||||
die "$me: too many arguments
|
||||
Try `$me --help' for more information.\n"
|
||||
if @ARGV > 1;
|
||||
|
||||
my $srcdir = $ARGV[0] || ".";
|
||||
|
||||
verb "srcdir = $srcdir";
|
||||
chdir $srcdir || error "cannot cd to $srcdir: $!";
|
||||
}
|
||||
|
||||
|
||||
# init_tables ()
|
||||
# --------------
|
||||
# Put values in the tables of what to do with each token.
|
||||
sub init_tables ()
|
||||
{
|
||||
# The data file format supports only one line of macros per function.
|
||||
# If more than that is required for a common portability problem,
|
||||
# a new Autoconf macro should probably be written for that case,
|
||||
# instead of duplicating the code in lots of configure.ac files.
|
||||
my $file = find_file ("autoscan/autoscan.list",
|
||||
reverse (@prepend_include), @include);
|
||||
my $table = new Autom4te::XFile "< " . open_quote ($file);
|
||||
my $tables_are_consistent = 1;
|
||||
|
||||
while ($_ = $table->getline)
|
||||
{
|
||||
# Ignore blank lines and comments.
|
||||
next
|
||||
if /^\s*$/ || /^\s*\#/;
|
||||
|
||||
# '<kind>: <word> <macro invocation>' or...
|
||||
# '<kind>: <word> warn: <message>'.
|
||||
if (/^(\S+):\s+(\S+)\s+(\S.*)$/)
|
||||
{
|
||||
my ($kind, $word, $macro) = ($1, $2, $3);
|
||||
error "$file:$.: invalid kind: $_"
|
||||
unless grep { $_ eq $kind } @kinds;
|
||||
push @{$macro{$kind}{$word}}, $macro;
|
||||
}
|
||||
else
|
||||
{
|
||||
error "$file:$.: invalid definition: $_";
|
||||
}
|
||||
}
|
||||
|
||||
if ($debug)
|
||||
{
|
||||
foreach my $kind (@kinds)
|
||||
{
|
||||
foreach my $word (sort keys %{$macro{$kind}})
|
||||
{
|
||||
print "$kind: $word: @{$macro{$kind}{$word}}\n";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# used ($KIND, $WORD, [$WHERE])
|
||||
# -----------------------------
|
||||
# $WORD is used as a $KIND.
|
||||
sub used ($$;$)
|
||||
{
|
||||
my ($kind, $word, $where) = @_;
|
||||
$where ||= "$File::Find::name:$.";
|
||||
if (
|
||||
# Check for all the libraries. But `-links' is certainly a
|
||||
# `find' argument, and `-le', a `test' argument.
|
||||
($kind eq 'library' && $word !~ /^(e|inks)$/)
|
||||
# Other than libraries are to be checked only if listed in
|
||||
# the Autoscan library files.
|
||||
|| defined $macro{$kind}{$word}
|
||||
)
|
||||
{
|
||||
push (@{$used{$kind}{$word}}, $where);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
## ----------------------- ##
|
||||
## Scanning source files. ##
|
||||
## ----------------------- ##
|
||||
|
||||
|
||||
# scan_c_file ($FILE-NAME)
|
||||
# ------------------------
|
||||
sub scan_c_file ($)
|
||||
{
|
||||
my ($file_name) = @_;
|
||||
push @cfiles, $File::Find::name;
|
||||
|
||||
# Nonzero if in a multiline comment.
|
||||
my $in_comment = 0;
|
||||
|
||||
my $file = new Autom4te::XFile "< " . open_quote ($file_name);
|
||||
|
||||
while ($_ = $file->getline)
|
||||
{
|
||||
# Strip out comments.
|
||||
if ($in_comment && s,^.*?\*/,,)
|
||||
{
|
||||
$in_comment = 0;
|
||||
}
|
||||
# The whole line is inside a commment.
|
||||
next if $in_comment;
|
||||
# All on one line.
|
||||
s,/\*.*?\*/,,g;
|
||||
|
||||
# Starting on this line.
|
||||
if (s,/\*.*$,,)
|
||||
{
|
||||
$in_comment = 1;
|
||||
}
|
||||
|
||||
# Preprocessor directives.
|
||||
if (s/^\s*\#\s*//)
|
||||
{
|
||||
if (/^include\s*<([^>]*)>/)
|
||||
{
|
||||
used ('header', $1);
|
||||
}
|
||||
if (s/^(if|ifdef|ifndef|elif)\s+//)
|
||||
{
|
||||
foreach my $word (split (/\W+/))
|
||||
{
|
||||
used ('identifier', $word)
|
||||
unless $word eq 'defined' || $word !~ /^[a-zA-Z_]/;
|
||||
}
|
||||
}
|
||||
# Ignore other preprocessor directives.
|
||||
next;
|
||||
}
|
||||
|
||||
# Remove string and character constants.
|
||||
s,\"[^\"]*\",,g;
|
||||
s,\'[^\']*\',,g;
|
||||
|
||||
# Tokens in the code.
|
||||
# Maybe we should ignore function definitions (in column 0)?
|
||||
while (s/\b([a-zA-Z_]\w*)\s*\(/ /)
|
||||
{
|
||||
used ('function', $1);
|
||||
}
|
||||
while (s/\b([a-zA-Z_]\w*)\b/ /)
|
||||
{
|
||||
used ('identifier', $1);
|
||||
}
|
||||
}
|
||||
|
||||
$file->close;
|
||||
}
|
||||
|
||||
|
||||
# scan_makefile($MAKEFILE-NAME)
|
||||
# -----------------------------
|
||||
sub scan_makefile ($)
|
||||
{
|
||||
my ($file_name) = @_;
|
||||
push @makefiles, $File::Find::name;
|
||||
|
||||
my $file = new Autom4te::XFile "< " . open_quote ($file_name);
|
||||
|
||||
while ($_ = $file->getline)
|
||||
{
|
||||
# Strip out comments.
|
||||
s/#.*//;
|
||||
|
||||
# Variable assignments.
|
||||
while (s/\b([a-zA-Z_]\w*)\s*=/ /)
|
||||
{
|
||||
used ('makevar', $1);
|
||||
}
|
||||
# Be sure to catch a whole word. For instance `lex$U.$(OBJEXT)'
|
||||
# is a single token. Otherwise we might believe `lex' is needed.
|
||||
foreach my $word (split (/\s+/))
|
||||
{
|
||||
# Libraries.
|
||||
if ($word =~ /^-l([a-zA-Z_]\w*)$/)
|
||||
{
|
||||
used ('library', $1);
|
||||
}
|
||||
# Tokens in the code.
|
||||
# We allow some additional characters, e.g., `+', since
|
||||
# autoscan/programs includes `c++'.
|
||||
if ($word =~ /^[a-zA-Z_][\w+]*$/)
|
||||
{
|
||||
used ('program', $word);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$file->close;
|
||||
}
|
||||
|
||||
|
||||
# scan_sh_file($SHELL-SCRIPT-NAME)
|
||||
# --------------------------------
|
||||
sub scan_sh_file ($)
|
||||
{
|
||||
my ($file_name) = @_;
|
||||
push @shfiles, $File::Find::name;
|
||||
|
||||
my $file = new Autom4te::XFile "< " . open_quote ($file_name);
|
||||
|
||||
while ($_ = $file->getline)
|
||||
{
|
||||
# Strip out comments and variable references.
|
||||
s/#.*//;
|
||||
s/\${[^\}]*}//g;
|
||||
s/@[^@]*@//g;
|
||||
|
||||
# Tokens in the code.
|
||||
while (s/\b([a-zA-Z_]\w*)\b/ /)
|
||||
{
|
||||
used ('program', $1);
|
||||
}
|
||||
}
|
||||
|
||||
$file->close;
|
||||
}
|
||||
|
||||
|
||||
# scan_file ()
|
||||
# ------------
|
||||
# Called by &find on each file. $_ contains the current file name with
|
||||
# the current directory of the walk through.
|
||||
sub scan_file ()
|
||||
{
|
||||
# Wanted only if there is no corresponding FILE.in.
|
||||
return
|
||||
if -f "$_.in";
|
||||
|
||||
# Save $_ as Find::File requires it to be preserved.
|
||||
local $_ = $_;
|
||||
|
||||
# Strip a useless leading `./'.
|
||||
$File::Find::name =~ s,^\./,,;
|
||||
|
||||
if ($_ ne '.' and -d $_ and
|
||||
-f "$_/configure.in" ||
|
||||
-f "$_/configure.ac" ||
|
||||
-f "$_/configure.gnu" ||
|
||||
-f "$_/configure")
|
||||
{
|
||||
$File::Find::prune = 1;
|
||||
push @subdirs, $File::Find::name;
|
||||
}
|
||||
if (/\.[chlym](\.in)?$/)
|
||||
{
|
||||
used 'program', 'cc', $File::Find::name;
|
||||
scan_c_file ($_);
|
||||
}
|
||||
elsif (/\.(cc|cpp|cxx|CC|C|hh|hpp|hxx|HH|H|yy|ypp|ll|lpp)(\.in)?$/)
|
||||
{
|
||||
used 'program', 'c++', $File::Find::name;
|
||||
scan_c_file ($_);
|
||||
}
|
||||
elsif ((/^((?:GNUm|M|m)akefile)(\.in)?$/ && ! -f "$1.am")
|
||||
|| /^(?:GNUm|M|m)akefile(\.am)?$/)
|
||||
{
|
||||
scan_makefile ($_);
|
||||
}
|
||||
elsif (/\.sh(\.in)?$/)
|
||||
{
|
||||
scan_sh_file ($_);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# scan_files ()
|
||||
# -------------
|
||||
# Read through the files and collect lists of tokens in them
|
||||
# that might create nonportabilities.
|
||||
sub scan_files ()
|
||||
{
|
||||
find (\&scan_file, '.');
|
||||
|
||||
if ($verbose)
|
||||
{
|
||||
print "cfiles: @cfiles\n";
|
||||
print "makefiles: @makefiles\n";
|
||||
print "shfiles: @shfiles\n";
|
||||
|
||||
foreach my $kind (@kinds)
|
||||
{
|
||||
print "\n$kind:\n";
|
||||
foreach my $word (sort keys %{$used{$kind}})
|
||||
{
|
||||
print "$word: @{$used{$kind}{$word}}\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
## ----------------------- ##
|
||||
## Output configure.scan. ##
|
||||
## ----------------------- ##
|
||||
|
||||
|
||||
# output_kind ($FILE, $KIND)
|
||||
# --------------------------
|
||||
sub output_kind ($$)
|
||||
{
|
||||
my ($file, $kind) = @_;
|
||||
# Lists of words to be checked with the generic macro.
|
||||
my @have;
|
||||
|
||||
print $file "\n# $kind_comment{$kind}\n"
|
||||
if exists $kind_comment{$kind};
|
||||
foreach my $word (sort keys %{$used{$kind}})
|
||||
{
|
||||
# Output the needed macro invocations in $configure_scan if not
|
||||
# already printed, and remember these macros are needed.
|
||||
foreach my $macro (@{$macro{$kind}{$word}})
|
||||
{
|
||||
if ($macro =~ /^warn:\s+(.*)/)
|
||||
{
|
||||
my $message = $1;
|
||||
foreach my $location (@{$used{$kind}{$word}})
|
||||
{
|
||||
warn "$location: warning: $message\n";
|
||||
}
|
||||
}
|
||||
elsif (exists $generic_macro{$kind}
|
||||
&& $macro eq $generic_macro{$kind})
|
||||
{
|
||||
push (@have, $word);
|
||||
push (@{$needed_macros{"$generic_macro{$kind}([$word])"}},
|
||||
@{$used{$kind}{$word}});
|
||||
}
|
||||
else
|
||||
{
|
||||
if (! $printed{$macro})
|
||||
{
|
||||
print $file "$macro\n";
|
||||
$printed{$macro} = 1;
|
||||
}
|
||||
push (@{$needed_macros{$macro}},
|
||||
@{$used{$kind}{$word}});
|
||||
}
|
||||
}
|
||||
}
|
||||
print $file "$generic_macro{$kind}([" . join(' ', sort(@have)) . "])\n"
|
||||
if @have;
|
||||
}
|
||||
|
||||
|
||||
# output_libraries ($FILE)
|
||||
# ------------------------
|
||||
sub output_libraries ($)
|
||||
{
|
||||
my ($file) = @_;
|
||||
|
||||
print $file "\n# Checks for libraries.\n";
|
||||
foreach my $word (sort keys %{$used{'library'}})
|
||||
{
|
||||
print $file "# FIXME: Replace `main' with a function in `-l$word':\n";
|
||||
print $file "AC_CHECK_LIB([$word], [main])\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# output ($CONFIGURE_SCAN)
|
||||
# ------------------------
|
||||
# Print a proto configure.ac.
|
||||
sub output ($)
|
||||
{
|
||||
my $configure_scan = shift;
|
||||
my %unique_makefiles;
|
||||
|
||||
my $file = new Autom4te::XFile "> " . open_quote ($configure_scan);
|
||||
|
||||
print $file
|
||||
("# -*- Autoconf -*-\n" .
|
||||
"# Process this file with autoconf to produce a configure script.\n" .
|
||||
"\n" .
|
||||
"AC_PREREQ([2.68])\n" .
|
||||
"AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])\n");
|
||||
if (defined $cfiles[0])
|
||||
{
|
||||
print $file "AC_CONFIG_SRCDIR([$cfiles[0]])\n";
|
||||
print $file "AC_CONFIG_HEADERS([config.h])\n";
|
||||
}
|
||||
|
||||
output_kind ($file, 'program');
|
||||
output_kind ($file, 'makevar');
|
||||
output_libraries ($file);
|
||||
output_kind ($file, 'header');
|
||||
output_kind ($file, 'identifier');
|
||||
output_kind ($file, 'function');
|
||||
|
||||
print $file "\n";
|
||||
if (@makefiles)
|
||||
{
|
||||
# Change DIR/Makefile.in to DIR/Makefile.
|
||||
foreach my $m (@makefiles)
|
||||
{
|
||||
$m =~ s/\.(?:in|am)$//;
|
||||
$unique_makefiles{$m}++;
|
||||
}
|
||||
print $file ("AC_CONFIG_FILES([",
|
||||
join ("\n ",
|
||||
sort keys %unique_makefiles), "])\n");
|
||||
}
|
||||
if (@subdirs)
|
||||
{
|
||||
print $file ("AC_CONFIG_SUBDIRS([",
|
||||
join ("\n ",
|
||||
sort @subdirs), "])\n");
|
||||
}
|
||||
print $file "AC_OUTPUT\n";
|
||||
|
||||
$file->close;
|
||||
}
|
||||
|
||||
|
||||
|
||||
## --------------------------------------- ##
|
||||
## Checking the accuracy of configure.ac. ##
|
||||
## --------------------------------------- ##
|
||||
|
||||
|
||||
# &check_configure_ac ($CONFIGURE_AC)
|
||||
# -----------------------------------
|
||||
# Use autoconf to check if all the suggested macros are included
|
||||
# in CONFIGURE_AC.
|
||||
sub check_configure_ac ($)
|
||||
{
|
||||
my ($configure_ac) = @_;
|
||||
|
||||
# Find what needed macros are invoked in CONFIGURE_AC.
|
||||
# I'd be very happy if someone could explain to me why sort (uniq ...)
|
||||
# doesn't work properly: I need `uniq (sort ...)'. --akim
|
||||
my $trace_option =
|
||||
join (' --trace=', '',
|
||||
uniq (sort (map { s/\(.*//; $_ } keys %needed_macros)));
|
||||
|
||||
verb "running: $autoconf $trace_option $configure_ac";
|
||||
my $traces =
|
||||
new Autom4te::XFile "$autoconf $trace_option $configure_ac |";
|
||||
|
||||
while ($_ = $traces->getline)
|
||||
{
|
||||
chomp;
|
||||
my ($file, $line, $macro, @args) = split (/:/, $_);
|
||||
if ($macro =~ /^AC_CHECK_(HEADER|FUNC|TYPE|MEMBER)S$/)
|
||||
{
|
||||
# To be rigorous, we should distinguish between space and comma
|
||||
# separated macros. But there is no point.
|
||||
foreach my $word (split (/\s|,/, $args[0]))
|
||||
{
|
||||
# AC_CHECK_MEMBERS wants `struct' or `union'.
|
||||
if ($macro eq "AC_CHECK_MEMBERS"
|
||||
&& $word =~ /^stat.st_/)
|
||||
{
|
||||
$word = "struct " . $word;
|
||||
}
|
||||
delete $needed_macros{"$macro([$word])"};
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
delete $needed_macros{$macro};
|
||||
}
|
||||
}
|
||||
|
||||
$traces->close;
|
||||
|
||||
# Report the missing macros.
|
||||
foreach my $macro (sort keys %needed_macros)
|
||||
{
|
||||
warn ("$configure_ac: warning: missing $macro wanted by: "
|
||||
. (${$needed_macros{$macro}}[0])
|
||||
. "\n");
|
||||
print $log "$me: warning: missing $macro wanted by: \n";
|
||||
foreach my $need (@{$needed_macros{$macro}})
|
||||
{
|
||||
print $log "\t$need\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
## -------------- ##
|
||||
## Main program. ##
|
||||
## -------------- ##
|
||||
|
||||
parse_args;
|
||||
$log = new Autom4te::XFile "> " . open_quote ("$me.log");
|
||||
|
||||
$autoconf .= " --debug" if $debug;
|
||||
$autoconf .= " --verbose" if $verbose;
|
||||
$autoconf .= join (' --include=', '', map { shell_quote ($_) } @include);
|
||||
$autoconf .= join (' --prepend-include=', '', map { shell_quote ($_) } @prepend_include);
|
||||
|
||||
my $configure_ac = find_configure_ac;
|
||||
init_tables;
|
||||
scan_files;
|
||||
output ('configure.scan');
|
||||
if (-f $configure_ac)
|
||||
{
|
||||
check_configure_ac ($configure_ac);
|
||||
}
|
||||
# This close is really needed. For some reason, probably best named
|
||||
# a bug, it seems that the dtor of $LOG is not called automatically
|
||||
# at END. It results in a truncated file.
|
||||
$log->close;
|
||||
exit 0;
|
||||
|
||||
### Setup "GNU" style for perl-mode and cperl-mode.
|
||||
## Local Variables:
|
||||
## perl-indent-level: 2
|
||||
## perl-continued-statement-offset: 2
|
||||
## perl-continued-brace-offset: 0
|
||||
## perl-brace-offset: 0
|
||||
## perl-brace-imaginary-offset: 0
|
||||
## perl-label-offset: -2
|
||||
## cperl-indent-level: 2
|
||||
## cperl-brace-offset: 0
|
||||
## cperl-continued-brace-offset: 0
|
||||
## cperl-label-offset: -2
|
||||
## cperl-extra-newline-before-brace: t
|
||||
## cperl-merge-trailing-else: nil
|
||||
## cperl-continued-statement-offset: 2
|
||||
## End:
|
||||
-1064
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
@@ -1,153 +0,0 @@
|
||||
#! /usr/bin/perl -w
|
||||
# -*- perl -*-
|
||||
# Generated from ifnames.in; do not edit by hand.
|
||||
|
||||
eval 'case $# in 0) exec /usr/bin/perl -S "$0";; *) exec /usr/bin/perl -S "$0" "$@";; esac'
|
||||
if 0;
|
||||
|
||||
# ifnames - print the identifiers used in C preprocessor conditionals
|
||||
|
||||
# Copyright (C) 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2005, 2006,
|
||||
# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
|
||||
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Reads from stdin if no files are given.
|
||||
# Writes to stdout.
|
||||
|
||||
# Written by David MacKenzie <[email protected]>
|
||||
# and Paul Eggert <[email protected]>.
|
||||
|
||||
BEGIN
|
||||
{
|
||||
my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '//share/autoconf';
|
||||
unshift @INC, $pkgdatadir;
|
||||
|
||||
# Override SHELL. On DJGPP SHELL may not be set to a shell
|
||||
# that can handle redirection and quote arguments correctly,
|
||||
# e.g.: COMMAND.COM. For DJGPP always use the shell that configure
|
||||
# has detected.
|
||||
$ENV{'SHELL'} = '/bin/sh' if ($^O eq 'dos');
|
||||
}
|
||||
|
||||
use Autom4te::General;
|
||||
use Autom4te::XFile;
|
||||
use Autom4te::FileUtils;
|
||||
|
||||
# $HELP
|
||||
# -----
|
||||
$help = "Usage: $0 [OPTION]... [FILE]...
|
||||
|
||||
Scan all of the C source FILES (or the standard input, if none are
|
||||
given) and write to the standard output a sorted list of all the
|
||||
identifiers that appear in those files in `#if', `#elif', `#ifdef', or
|
||||
`#ifndef' directives. Print each identifier on a line, followed by a
|
||||
space-separated list of the files in which that identifier occurs.
|
||||
|
||||
-h, --help print this help, then exit
|
||||
-V, --version print version number, then exit
|
||||
|
||||
Report bugs to <bug-autoconf\@gnu.org>.
|
||||
GNU Autoconf home page: <http://www.gnu.org/software/autoconf/>.
|
||||
General help using GNU software: <http://www.gnu.org/gethelp/>.
|
||||
";
|
||||
|
||||
|
||||
# $VERSION
|
||||
# --------
|
||||
$version = "ifnames (GNU Autoconf) 2.68
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
License GPLv3+/Autoconf: GNU GPL version 3 or later
|
||||
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
|
||||
Written by David J. MacKenzie and Paul Eggert.
|
||||
";
|
||||
|
||||
|
||||
# &parse_args ()
|
||||
# --------------
|
||||
# Process any command line arguments.
|
||||
sub parse_args ()
|
||||
{
|
||||
getopt ();
|
||||
}
|
||||
|
||||
|
||||
# %OCCURRENCE
|
||||
# -----------
|
||||
my %occurrence;
|
||||
|
||||
|
||||
# &scan_file ($FILE-NAME)
|
||||
# -----------------------
|
||||
sub scan_file ($)
|
||||
{
|
||||
my ($file_name) = @_;
|
||||
my $file = new Autom4te::XFile ("< " . open_quote ($file_name));
|
||||
while ($_ = $file->getline)
|
||||
{
|
||||
# Continuation lines.
|
||||
$_ .= $file->getline
|
||||
while (s/\\$//);
|
||||
|
||||
# Preprocessor directives.
|
||||
if (s/^\s*\#\s*(if|ifdef|ifndef|elif)\s+//)
|
||||
{
|
||||
# Remove comments. Not perfect, but close enough.
|
||||
s(/\*.*?\*/)();
|
||||
s(/\*.*)();
|
||||
s(//.*)();
|
||||
foreach my $word (split (/\W+/))
|
||||
{
|
||||
next
|
||||
if $word eq 'defined' || $word !~ /^[a-zA-Z_]/;
|
||||
$occurrence{$word}{$file_name} = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
## ------ ##
|
||||
## Main. ##
|
||||
## ------ ##
|
||||
|
||||
parse_args();
|
||||
foreach (@ARGV)
|
||||
{
|
||||
scan_file ($_);
|
||||
}
|
||||
foreach (sort keys %occurrence)
|
||||
{
|
||||
print "$_ ", join (' ', sort keys %{$occurrence{$_}}), "\n";
|
||||
}
|
||||
|
||||
### Setup "GNU" style for perl-mode and cperl-mode.
|
||||
## Local Variables:
|
||||
## perl-indent-level: 2
|
||||
## perl-continued-statement-offset: 2
|
||||
## perl-continued-brace-offset: 0
|
||||
## perl-brace-offset: 0
|
||||
## perl-brace-imaginary-offset: 0
|
||||
## perl-label-offset: -2
|
||||
## cperl-indent-level: 2
|
||||
## cperl-brace-offset: 0
|
||||
## cperl-continued-brace-offset: 0
|
||||
## cperl-label-offset: -2
|
||||
## cperl-extra-newline-before-brace: t
|
||||
## cperl-merge-trailing-else: nil
|
||||
## cperl-continued-statement-offset: 2
|
||||
## End:
|
||||
-2555
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
-1235
File diff suppressed because it is too large
Load Diff
-1235
File diff suppressed because it is too large
Load Diff
-500
@@ -1,500 +0,0 @@
|
||||
#! /bin/sh
|
||||
# Generated from autoconf.in; do not edit by hand.
|
||||
# autoconf -- create `configure' using m4 macros
|
||||
|
||||
# Copyright (C) 1992, 1993, 1994, 1996, 1999, 2000, 2001, 2002, 2003,
|
||||
# 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
|
||||
# Inc.
|
||||
|
||||
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
## -------------------- ##
|
||||
## M4sh Initialization. ##
|
||||
## -------------------- ##
|
||||
|
||||
# Be more Bourne compatible
|
||||
DUALCASE=1; export DUALCASE # for MKS sh
|
||||
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
|
||||
emulate sh
|
||||
NULLCMD=:
|
||||
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
|
||||
# is contrary to our usage. Disable this feature.
|
||||
alias -g '${1+"$@"}'='"$@"'
|
||||
setopt NO_GLOB_SUBST
|
||||
else
|
||||
case `(set -o) 2>/dev/null` in #(
|
||||
*posix*) :
|
||||
set -o posix ;; #(
|
||||
*) :
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
as_nl='
|
||||
'
|
||||
export as_nl
|
||||
# Printing a long string crashes Solaris 7 /usr/bin/printf.
|
||||
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
|
||||
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
|
||||
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
|
||||
# Prefer a ksh shell builtin over an external printf program on Solaris,
|
||||
# but without wasting forks for bash or zsh.
|
||||
if test -z "$BASH_VERSION$ZSH_VERSION" \
|
||||
&& (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
|
||||
as_echo='print -r --'
|
||||
as_echo_n='print -rn --'
|
||||
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
|
||||
as_echo='printf %s\n'
|
||||
as_echo_n='printf %s'
|
||||
else
|
||||
if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
|
||||
as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
|
||||
as_echo_n='/usr/ucb/echo -n'
|
||||
else
|
||||
as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
|
||||
as_echo_n_body='eval
|
||||
arg=$1;
|
||||
case $arg in #(
|
||||
*"$as_nl"*)
|
||||
expr "X$arg" : "X\\(.*\\)$as_nl";
|
||||
arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
|
||||
esac;
|
||||
expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
|
||||
'
|
||||
export as_echo_n_body
|
||||
as_echo_n='sh -c $as_echo_n_body as_echo'
|
||||
fi
|
||||
export as_echo_body
|
||||
as_echo='sh -c $as_echo_body as_echo'
|
||||
fi
|
||||
|
||||
# The user is always right.
|
||||
if test "${PATH_SEPARATOR+set}" != set; then
|
||||
PATH_SEPARATOR=:
|
||||
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
|
||||
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
|
||||
PATH_SEPARATOR=';'
|
||||
}
|
||||
fi
|
||||
|
||||
|
||||
# IFS
|
||||
# We need space, tab and new line, in precisely that order. Quoting is
|
||||
# there to prevent editors from complaining about space-tab.
|
||||
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
|
||||
# splitting by setting IFS to empty value.)
|
||||
IFS=" "" $as_nl"
|
||||
|
||||
# Find who we are. Look in the path if we contain no directory separator.
|
||||
as_myself=
|
||||
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
|
||||
IFS=$as_save_IFS
|
||||
|
||||
;;
|
||||
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
|
||||
$as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Unset variables that we do not need and which cause bugs (e.g. in
|
||||
# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
|
||||
# suppresses any "Segmentation fault" message there. '((' could
|
||||
# trigger a bug in pdksh 5.2.14.
|
||||
for as_var in BASH_ENV ENV MAIL MAILPATH
|
||||
do eval test x\${$as_var+set} = xset \
|
||||
&& ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
|
||||
done
|
||||
PS1='$ '
|
||||
PS2='> '
|
||||
PS4='+ '
|
||||
|
||||
# NLS nuisances.
|
||||
LC_ALL=C
|
||||
export LC_ALL
|
||||
LANGUAGE=C
|
||||
export LANGUAGE
|
||||
|
||||
# CDPATH.
|
||||
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
|
||||
|
||||
if test "x$CONFIG_SHELL" = x; then
|
||||
as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
|
||||
emulate sh
|
||||
NULLCMD=:
|
||||
# Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
|
||||
# is contrary to our usage. Disable this feature.
|
||||
alias -g '\${1+\"\$@\"}'='\"\$@\"'
|
||||
setopt NO_GLOB_SUBST
|
||||
else
|
||||
case \`(set -o) 2>/dev/null\` in #(
|
||||
*posix*) :
|
||||
set -o posix ;; #(
|
||||
*) :
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
"
|
||||
as_required="as_fn_return () { (exit \$1); }
|
||||
as_fn_success () { as_fn_return 0; }
|
||||
as_fn_failure () { as_fn_return 1; }
|
||||
as_fn_ret_success () { return 0; }
|
||||
as_fn_ret_failure () { return 1; }
|
||||
|
||||
exitcode=0
|
||||
as_fn_success || { exitcode=1; echo as_fn_success failed.; }
|
||||
as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
|
||||
as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
|
||||
as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
|
||||
if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
|
||||
|
||||
else
|
||||
exitcode=1; echo positional parameters were not saved.
|
||||
fi
|
||||
test x\$exitcode = x0 || exit 1"
|
||||
as_suggested=""
|
||||
if (eval "$as_required") 2>/dev/null; then :
|
||||
as_have_required=yes
|
||||
else
|
||||
as_have_required=no
|
||||
fi
|
||||
if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
|
||||
|
||||
else
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
as_found=false
|
||||
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
as_found=:
|
||||
case $as_dir in #(
|
||||
/*)
|
||||
for as_base in sh bash ksh sh5; do
|
||||
# Try only shells that exist, to save several forks.
|
||||
as_shell=$as_dir/$as_base
|
||||
if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
|
||||
{ $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
|
||||
CONFIG_SHELL=$as_shell as_have_required=yes
|
||||
break 2
|
||||
fi
|
||||
done;;
|
||||
esac
|
||||
as_found=false
|
||||
done
|
||||
$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
|
||||
{ $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
|
||||
CONFIG_SHELL=$SHELL as_have_required=yes
|
||||
fi; }
|
||||
IFS=$as_save_IFS
|
||||
|
||||
|
||||
if test "x$CONFIG_SHELL" != x; then :
|
||||
# We cannot yet assume a decent shell, so we have to provide a
|
||||
# neutralization value for shells without unset; and this also
|
||||
# works around shells that cannot unset nonexistent variables.
|
||||
# Preserve -v and -x to the replacement shell.
|
||||
BASH_ENV=/dev/null
|
||||
ENV=/dev/null
|
||||
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
|
||||
export CONFIG_SHELL
|
||||
case $- in # ((((
|
||||
*v*x* | *x*v* ) as_opts=-vx ;;
|
||||
*v* ) as_opts=-v ;;
|
||||
*x* ) as_opts=-x ;;
|
||||
* ) as_opts= ;;
|
||||
esac
|
||||
exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
|
||||
fi
|
||||
|
||||
if test x$as_have_required = xno; then :
|
||||
$as_echo "$0: This script requires a shell more modern than all"
|
||||
$as_echo "$0: the shells that I found on your system."
|
||||
if test x${ZSH_VERSION+set} = xset ; then
|
||||
$as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
|
||||
$as_echo "$0: be upgraded to zsh 4.3.4 or later."
|
||||
else
|
||||
$as_echo "$0: Please tell [email protected] about your system,
|
||||
$0: including any error possibly output before this
|
||||
$0: message. Then install a modern shell, or manually run
|
||||
$0: the script under such a shell if you do have one."
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
SHELL=${CONFIG_SHELL-/bin/sh}
|
||||
export SHELL
|
||||
# Unset more variables known to interfere with behavior of common tools.
|
||||
CLICOLOR_FORCE= GREP_OPTIONS=
|
||||
unset CLICOLOR_FORCE GREP_OPTIONS
|
||||
|
||||
## --------------------- ##
|
||||
## M4sh Shell Functions. ##
|
||||
## --------------------- ##
|
||||
# as_fn_unset VAR
|
||||
# ---------------
|
||||
# Portably unset VAR.
|
||||
as_fn_unset ()
|
||||
{
|
||||
{ eval $1=; unset $1;}
|
||||
}
|
||||
as_unset=as_fn_unset
|
||||
|
||||
# as_fn_set_status STATUS
|
||||
# -----------------------
|
||||
# Set $? to STATUS, without forking.
|
||||
as_fn_set_status ()
|
||||
{
|
||||
return $1
|
||||
} # as_fn_set_status
|
||||
|
||||
# as_fn_exit STATUS
|
||||
# -----------------
|
||||
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
|
||||
as_fn_exit ()
|
||||
{
|
||||
set +e
|
||||
as_fn_set_status $1
|
||||
exit $1
|
||||
} # as_fn_exit
|
||||
|
||||
|
||||
# as_fn_error STATUS ERROR
|
||||
# ------------------------
|
||||
# Output "`basename $0`: error: ERROR" to stderr. Then exit the script with
|
||||
# STATUS, using 1 if that was 0.
|
||||
as_fn_error ()
|
||||
{
|
||||
as_status=$1; test $as_status -eq 0 && as_status=1
|
||||
$as_echo "$as_me: error: $2" >&2
|
||||
as_fn_exit $as_status
|
||||
} # as_fn_error
|
||||
|
||||
if expr a : '\(a\)' >/dev/null 2>&1 &&
|
||||
test "X`expr 00001 : '.*\(...\)'`" = X001; then
|
||||
as_expr=expr
|
||||
else
|
||||
as_expr=false
|
||||
fi
|
||||
|
||||
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
|
||||
as_basename=basename
|
||||
else
|
||||
as_basename=false
|
||||
fi
|
||||
|
||||
as_me=`$as_basename -- "$0" ||
|
||||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
|
||||
X"$0" : 'X\(//\)$' \| \
|
||||
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
$as_echo X/"$0" |
|
||||
sed '/^.*\/\([^/][^/]*\)\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\/\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\/\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'`
|
||||
|
||||
## -------------------- ##
|
||||
## Main body of script. ##
|
||||
## -------------------- ##
|
||||
|
||||
usage="\
|
||||
Usage: $0 [OPTION]... [TEMPLATE-FILE]
|
||||
|
||||
Generate a configuration script from a TEMPLATE-FILE if given, or
|
||||
\`configure.ac' if present, or else \`configure.in'. Output is sent
|
||||
to the standard output if TEMPLATE-FILE is given, else into
|
||||
\`configure'.
|
||||
|
||||
Operation modes:
|
||||
-h, --help print this help, then exit
|
||||
-V, --version print version number, then exit
|
||||
-v, --verbose verbosely report processing
|
||||
-d, --debug don't remove temporary files
|
||||
-f, --force consider all files obsolete
|
||||
-o, --output=FILE save output in FILE (stdout is the default)
|
||||
-W, --warnings=CATEGORY report the warnings falling in CATEGORY [syntax]
|
||||
|
||||
Warning categories include:
|
||||
\`cross' cross compilation issues
|
||||
\`obsolete' obsolete constructs
|
||||
\`syntax' dubious syntactic constructs
|
||||
\`all' all the warnings
|
||||
\`no-CATEGORY' turn off the warnings on CATEGORY
|
||||
\`none' turn off all the warnings
|
||||
\`error' warnings are error
|
||||
|
||||
The environment variables \`M4' and \`WARNINGS' are honored.
|
||||
|
||||
Library directories:
|
||||
-B, --prepend-include=DIR prepend directory DIR to search path
|
||||
-I, --include=DIR append directory DIR to search path
|
||||
|
||||
Tracing:
|
||||
-t, --trace=MACRO[:FORMAT] report the list of calls to MACRO
|
||||
-i, --initialization also trace Autoconf's initialization process
|
||||
|
||||
In tracing mode, no configuration script is created. FORMAT defaults
|
||||
to \`\$f:\$l:\$n:\$%'; see \`autom4te --help' for information about FORMAT.
|
||||
|
||||
Report bugs to <[email protected]>.
|
||||
GNU Autoconf home page: <http://www.gnu.org/software/autoconf/>.
|
||||
General help using GNU software: <http://www.gnu.org/gethelp/>."
|
||||
|
||||
version="\
|
||||
autoconf (GNU Autoconf) 2.68
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
License GPLv3+/Autoconf: GNU GPL version 3 or later
|
||||
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
|
||||
Written by David J. MacKenzie and Akim Demaille."
|
||||
|
||||
help="\
|
||||
Try \`$as_me --help' for more information."
|
||||
|
||||
exit_missing_arg='
|
||||
as_fn_error $? "option \`$1'\'' requires an argument$as_nl$help"'
|
||||
# restore font-lock: '
|
||||
|
||||
# Variables.
|
||||
: ${AUTOM4TE='/i686-pc-linux-gnu/bin/autom4te'}
|
||||
autom4te_options=
|
||||
outfile=
|
||||
verbose=false
|
||||
|
||||
# Parse command line.
|
||||
while test $# -gt 0 ; do
|
||||
option=`expr "x$1" : 'x\(--[^=]*\)' \| \
|
||||
"x$1" : 'x\(-.\)'`
|
||||
optarg=`expr "x$1" : 'x--[^=]*=\(.*\)' \| \
|
||||
"x$1" : 'x-.\(.*\)'`
|
||||
case $1 in
|
||||
--version | -V )
|
||||
echo "$version" ; exit ;;
|
||||
--help | -h )
|
||||
$as_echo "$usage"; exit ;;
|
||||
|
||||
--verbose | -v )
|
||||
verbose=:
|
||||
autom4te_options="$autom4te_options $1"; shift ;;
|
||||
|
||||
# Arguments passed as is to autom4te.
|
||||
--debug | -d | \
|
||||
--force | -f | \
|
||||
--include=* | -I?* | \
|
||||
--prepend-include=* | -B?* | \
|
||||
--warnings=* | -W?* )
|
||||
case $1 in
|
||||
*\'*) arg=`$as_echo "$1" | sed "s/'/'\\\\\\\\''/g"` ;; #'
|
||||
*) arg=$1 ;;
|
||||
esac
|
||||
autom4te_options="$autom4te_options '$arg'"; shift ;;
|
||||
# Options with separated arg passed as is to autom4te.
|
||||
--include | -I | \
|
||||
--prepend-include | -B | \
|
||||
--warnings | -W )
|
||||
test $# = 1 && eval "$exit_missing_arg"
|
||||
case $2 in
|
||||
*\'*) arg=`$as_echo "$2" | sed "s/'/'\\\\\\\\''/g"` ;; #'
|
||||
*) arg=$2 ;;
|
||||
esac
|
||||
autom4te_options="$autom4te_options $option '$arg'"
|
||||
shift; shift ;;
|
||||
|
||||
--trace=* | -t?* )
|
||||
traces="$traces --trace='"`$as_echo "$optarg" | sed "s/'/'\\\\\\\\''/g"`"'"
|
||||
shift ;;
|
||||
--trace | -t )
|
||||
test $# = 1 && eval "$exit_missing_arg"
|
||||
traces="$traces --trace='"`$as_echo "$2" | sed "s/'/'\\\\\\\\''/g"`"'"
|
||||
shift; shift ;;
|
||||
--initialization | -i )
|
||||
autom4te_options="$autom4te_options --melt"
|
||||
shift;;
|
||||
|
||||
--output=* | -o?* )
|
||||
outfile=$optarg
|
||||
shift ;;
|
||||
--output | -o )
|
||||
test $# = 1 && eval "$exit_missing_arg"
|
||||
outfile=$2
|
||||
shift; shift ;;
|
||||
|
||||
-- ) # Stop option processing
|
||||
shift; break ;;
|
||||
- ) # Use stdin as input.
|
||||
break ;;
|
||||
-* )
|
||||
exec >&2
|
||||
as_fn_error $? "invalid option \`$1'$as_nl$help" ;; #`
|
||||
* )
|
||||
break ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Find the input file.
|
||||
case $# in
|
||||
0)
|
||||
if test -f configure.ac; then
|
||||
if test -f configure.in; then
|
||||
$as_echo "$as_me: warning: both \`configure.ac' and \`configure.in' are present." >&2
|
||||
$as_echo "$as_me: warning: proceeding with \`configure.ac'." >&2
|
||||
fi
|
||||
infile=configure.ac
|
||||
elif test -f configure.in; then
|
||||
infile=configure.in
|
||||
else
|
||||
as_fn_error $? "no input file"
|
||||
fi
|
||||
test -z "$traces" && test -z "$outfile" && outfile=configure;;
|
||||
1)
|
||||
infile=$1 ;;
|
||||
*) exec >&2
|
||||
as_fn_error $? "invalid number of arguments$as_nl$help" ;;
|
||||
esac
|
||||
|
||||
# Unless specified, the output is stdout.
|
||||
test -z "$outfile" && outfile=-
|
||||
|
||||
# Run autom4te with expansion.
|
||||
eval set x "$autom4te_options" \
|
||||
--language=autoconf --output=\"\$outfile\" "$traces" \"\$infile\"
|
||||
shift
|
||||
$verbose && $as_echo "$as_me: running $AUTOM4TE $*" >&2
|
||||
exec "$AUTOM4TE" "$@"
|
||||
-304
@@ -1,304 +0,0 @@
|
||||
#! /usr/bin/perl
|
||||
# -*- Perl -*-
|
||||
# Generated from autoheader.in; do not edit by hand.
|
||||
|
||||
eval 'case $# in 0) exec /usr/bin/perl -S "$0";; *) exec /usr/bin/perl -S "$0" "$@";; esac'
|
||||
if 0;
|
||||
|
||||
# autoheader -- create `config.h.in' from `configure.ac'
|
||||
|
||||
# Copyright (C) 1992, 1993, 1994, 1996, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
|
||||
# Foundation, Inc.
|
||||
|
||||
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Written by Roland McGrath.
|
||||
# Rewritten in Perl by Akim Demaille.
|
||||
|
||||
BEGIN
|
||||
{
|
||||
my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '//share/autoconf';
|
||||
unshift @INC, "$pkgdatadir";
|
||||
|
||||
# Override SHELL. On DJGPP SHELL may not be set to a shell
|
||||
# that can handle redirection and quote arguments correctly,
|
||||
# e.g.: COMMAND.COM. For DJGPP always use the shell that configure
|
||||
# has detected.
|
||||
$ENV{'SHELL'} = '/bin/sh' if ($^O eq 'dos');
|
||||
}
|
||||
|
||||
use Autom4te::ChannelDefs;
|
||||
use Autom4te::Channels;
|
||||
use Autom4te::Configure_ac;
|
||||
use Autom4te::FileUtils;
|
||||
use Autom4te::General;
|
||||
use Autom4te::XFile;
|
||||
use strict;
|
||||
|
||||
# Using `do FILE', we need `local' vars.
|
||||
use vars qw ($config_h %verbatim %symbol);
|
||||
|
||||
# Lib files.
|
||||
my $autom4te = $ENV{'AUTOM4TE'} || '/i686-pc-linux-gnu/bin/autom4te';
|
||||
local $config_h;
|
||||
my $config_h_in;
|
||||
my @prepend_include;
|
||||
my @include;
|
||||
|
||||
|
||||
# $HELP
|
||||
# -----
|
||||
$help = "Usage: $0 [OPTION]... [TEMPLATE-FILE]
|
||||
|
||||
Create a template file of C \`\#define\' statements for \`configure\' to
|
||||
use. To this end, scan TEMPLATE-FILE, or \`configure.ac\' if present,
|
||||
or else \`configure.in\'.
|
||||
|
||||
-h, --help print this help, then exit
|
||||
-V, --version print version number, then exit
|
||||
-v, --verbose verbosely report processing
|
||||
-d, --debug don\'t remove temporary files
|
||||
-f, --force consider all files obsolete
|
||||
-W, --warnings=CATEGORY report the warnings falling in CATEGORY
|
||||
|
||||
" . Autom4te::ChannelDefs::usage () . "
|
||||
|
||||
Library directories:
|
||||
-B, --prepend-include=DIR prepend directory DIR to search path
|
||||
-I, --include=DIR append directory DIR to search path
|
||||
|
||||
Report bugs to <bug-autoconf\@gnu.org>.
|
||||
GNU Autoconf home page: <http://www.gnu.org/software/autoconf/>.
|
||||
General help using GNU software: <http://www.gnu.org/gethelp/>.
|
||||
";
|
||||
|
||||
|
||||
# $VERSION
|
||||
# --------
|
||||
$version = "autoheader (GNU Autoconf) 2.68
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
License GPLv3+/Autoconf: GNU GPL version 3 or later
|
||||
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
|
||||
Written by Roland McGrath and Akim Demaille.
|
||||
";
|
||||
|
||||
|
||||
## ---------- ##
|
||||
## Routines. ##
|
||||
## ---------- ##
|
||||
|
||||
|
||||
# parse_args ()
|
||||
# -------------
|
||||
# Process any command line arguments.
|
||||
sub parse_args ()
|
||||
{
|
||||
my $srcdir;
|
||||
|
||||
parse_WARNINGS;
|
||||
getopt ('I|include=s' => \@include,
|
||||
'B|prepend-include=s' => \@prepend_include,
|
||||
'W|warnings=s' => \&parse_warnings);
|
||||
|
||||
if (! @ARGV)
|
||||
{
|
||||
my $configure_ac = require_configure_ac;
|
||||
push @ARGV, $configure_ac;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
## -------------- ##
|
||||
## Main program. ##
|
||||
## -------------- ##
|
||||
|
||||
mktmpdir ('ah');
|
||||
switch_warning 'obsolete';
|
||||
parse_args;
|
||||
|
||||
# Preach.
|
||||
my $config_h_top = find_file ("config.h.top?",
|
||||
reverse (@prepend_include), @include);
|
||||
my $config_h_bot = find_file ("config.h.bot?",
|
||||
reverse (@prepend_include), @include);
|
||||
my $acconfig_h = find_file ("acconfig.h?",
|
||||
reverse (@prepend_include), @include);
|
||||
if ($config_h_top || $config_h_bot || $acconfig_h)
|
||||
{
|
||||
my $msg = << "END";
|
||||
Using auxiliary files such as \`acconfig.h\', \`config.h.bot\'
|
||||
and \`config.h.top\', to define templates for \`config.h.in\'
|
||||
is deprecated and discouraged.
|
||||
|
||||
Using the third argument of \`AC_DEFINE\' and
|
||||
\`AC_DEFINE_UNQUOTED\' allows one to define a template without
|
||||
\`acconfig.h\':
|
||||
|
||||
AC_DEFINE([NEED_FUNC_MAIN], 1,
|
||||
[Define if a function \`main\' is needed.])
|
||||
|
||||
More sophisticated templates can also be produced, see the
|
||||
documentation.
|
||||
END
|
||||
$msg =~ s/^ /WARNING: /gm;
|
||||
msg 'obsolete', $msg;
|
||||
}
|
||||
|
||||
# Set up autoconf.
|
||||
my $autoconf = "'$autom4te' --language=autoconf ";
|
||||
$autoconf .= join (' --include=', '', map { shell_quote ($_) } @include);
|
||||
$autoconf .= join (' --prepend-include=', '', map { shell_quote ($_) } @prepend_include);
|
||||
$autoconf .= ' --debug' if $debug;
|
||||
$autoconf .= ' --force' if $force;
|
||||
$autoconf .= ' --verbose' if $verbose;
|
||||
|
||||
# ----------------------- #
|
||||
# Real work starts here. #
|
||||
# ----------------------- #
|
||||
|
||||
# Source what the traces are trying to tell us.
|
||||
verb "$me: running $autoconf to trace from $ARGV[0]";
|
||||
my $quoted_tmp = shell_quote ($tmp);
|
||||
xsystem ("$autoconf"
|
||||
# If you change this list, update the
|
||||
# `Autoheader-preselections' section of autom4te.in.
|
||||
. ' --trace AC_CONFIG_HEADERS:\'$$config_h ||= \'"\'"\'$1\'"\'"\';\''
|
||||
. ' --trace AH_OUTPUT:\'$$verbatim{\'"\'"\'$1\'"\'"\'} = \'"\'"\'$2\'"\'"\';\''
|
||||
. ' --trace AC_DEFINE_TRACE_LITERAL:\'$$symbol{\'"\'"\'$1\'"\'"\'} = 1;\''
|
||||
. " " . shell_quote ($ARGV[0]) . " >$quoted_tmp/traces.pl");
|
||||
|
||||
local (%verbatim, %symbol);
|
||||
debug "$me: \`do'ing $tmp/traces.pl:\n" . `sed 's/^/| /' $quoted_tmp/traces.pl`;
|
||||
do "$tmp/traces.pl";
|
||||
warn "couldn't parse $tmp/traces.pl: $@" if $@;
|
||||
unless ($config_h)
|
||||
{
|
||||
error "error: AC_CONFIG_HEADERS not found in $ARGV[0]";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
# We template only the first CONFIG_HEADER.
|
||||
$config_h =~ s/ .*//;
|
||||
# Support "outfile[:infile]", defaulting infile="outfile.in".
|
||||
($config_h, $config_h_in) = split (':', $config_h, 2);
|
||||
$config_h_in ||= "$config_h.in";
|
||||
|
||||
# %SYMBOL might contain things like `F77_FUNC(name,NAME)', but we keep
|
||||
# only the name of the macro.
|
||||
%symbol = map { s/\(.*//; $_ => 1 } keys %symbol;
|
||||
|
||||
my $out = new Autom4te::XFile ("> " . open_quote ("$tmp/config.hin"));
|
||||
|
||||
# Don't write "do not edit" -- it will get copied into the
|
||||
# config.h, which it's ok to edit.
|
||||
print $out "/* $config_h_in. Generated from $ARGV[0] by autoheader. */\n";
|
||||
|
||||
# Dump the top.
|
||||
if ($config_h_top)
|
||||
{
|
||||
my $in = new Autom4te::XFile ("< " . open_quote ($config_h_top));
|
||||
while ($_ = $in->getline)
|
||||
{
|
||||
print $out $_;
|
||||
}
|
||||
}
|
||||
|
||||
# Dump `acconfig.h', except for its bottom portion.
|
||||
if ($acconfig_h)
|
||||
{
|
||||
my $in = new Autom4te::XFile ("< " . open_quote ($acconfig_h));
|
||||
while ($_ = $in->getline)
|
||||
{
|
||||
last if /\@BOTTOM\@/;
|
||||
next if /\@TOP\@/;
|
||||
print $out $_;
|
||||
}
|
||||
}
|
||||
|
||||
# Dump the templates from `configure.ac'.
|
||||
foreach (sort keys %verbatim)
|
||||
{
|
||||
print $out "\n$verbatim{$_}\n";
|
||||
}
|
||||
|
||||
# Dump bottom portion of `acconfig.h'.
|
||||
if ($acconfig_h)
|
||||
{
|
||||
my $in = new Autom4te::XFile ("< " . open_quote ($acconfig_h));
|
||||
my $dump = 0;
|
||||
while ($_ = $in->getline)
|
||||
{
|
||||
print $out $_ if $dump;
|
||||
$dump = 1 if /\@BOTTOM\@/;
|
||||
}
|
||||
}
|
||||
|
||||
# Dump the bottom.
|
||||
if ($config_h_bot)
|
||||
{
|
||||
my $in = new Autom4te::XFile ("< " . open_quote ($config_h_bot));
|
||||
while ($_ = $in->getline)
|
||||
{
|
||||
print $out $_;
|
||||
}
|
||||
}
|
||||
|
||||
$out->close;
|
||||
|
||||
# Check that all the symbols have a template.
|
||||
{
|
||||
my $in = new Autom4te::XFile ("< " . open_quote ("$tmp/config.hin"));
|
||||
my $suggest_ac_define = 1;
|
||||
while ($_ = $in->getline)
|
||||
{
|
||||
my ($symbol) = /^\#\s*\w+\s+(\w+)/
|
||||
or next;
|
||||
delete $symbol{$symbol};
|
||||
}
|
||||
foreach (sort keys %symbol)
|
||||
{
|
||||
msg 'syntax', "warning: missing template: $_";
|
||||
if ($suggest_ac_define)
|
||||
{
|
||||
msg 'syntax', "Use AC_DEFINE([$_], [], [Description])";
|
||||
$suggest_ac_define = 0;
|
||||
}
|
||||
|
||||
}
|
||||
exit 1
|
||||
if keys %symbol;
|
||||
}
|
||||
|
||||
update_file ("$tmp/config.hin", "$config_h_in", $force);
|
||||
|
||||
### Setup "GNU" style for perl-mode and cperl-mode.
|
||||
## Local Variables:
|
||||
## perl-indent-level: 2
|
||||
## perl-continued-statement-offset: 2
|
||||
## perl-continued-brace-offset: 0
|
||||
## perl-brace-offset: 0
|
||||
## perl-brace-imaginary-offset: 0
|
||||
## perl-label-offset: -2
|
||||
## cperl-indent-level: 2
|
||||
## cperl-brace-offset: 0
|
||||
## cperl-continued-brace-offset: 0
|
||||
## cperl-label-offset: -2
|
||||
## cperl-extra-newline-before-brace: t
|
||||
## cperl-merge-trailing-else: nil
|
||||
## cperl-continued-statement-offset: 2
|
||||
## End:
|
||||
-1075
File diff suppressed because it is too large
Load Diff
-8298
File diff suppressed because it is too large
Load Diff
-8298
File diff suppressed because it is too large
Load Diff
-718
@@ -1,718 +0,0 @@
|
||||
#! /usr/bin/perl -w
|
||||
# -*- perl -*-
|
||||
# Generated from autoreconf.in; do not edit by hand.
|
||||
|
||||
eval 'case $# in 0) exec /usr/bin/perl -S "$0";; *) exec /usr/bin/perl -S "$0" "$@";; esac'
|
||||
if 0;
|
||||
|
||||
# autoreconf - install the GNU Build System in a directory tree
|
||||
# Copyright (C) 1994, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
|
||||
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Written by David J. MacKenzie.
|
||||
# Extended and rewritten in Perl by Akim Demaille.
|
||||
|
||||
BEGIN
|
||||
{
|
||||
my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '//share/autoconf';
|
||||
unshift @INC, $pkgdatadir;
|
||||
|
||||
# Override SHELL. On DJGPP SHELL may not be set to a shell
|
||||
# that can handle redirection and quote arguments correctly,
|
||||
# e.g.: COMMAND.COM. For DJGPP always use the shell that configure
|
||||
# has detected.
|
||||
$ENV{'SHELL'} = '/bin/sh' if ($^O eq 'dos');
|
||||
}
|
||||
|
||||
use Autom4te::ChannelDefs;
|
||||
use Autom4te::Channels;
|
||||
use Autom4te::Configure_ac;
|
||||
use Autom4te::FileUtils;
|
||||
use Autom4te::General;
|
||||
use Autom4te::XFile;
|
||||
# Do not use Cwd::chdir, since it might hang.
|
||||
use Cwd 'cwd';
|
||||
use strict;
|
||||
|
||||
## ----------- ##
|
||||
## Variables. ##
|
||||
## ----------- ##
|
||||
|
||||
# $HELP
|
||||
# -----
|
||||
$help = "Usage: $0 [OPTION]... [DIRECTORY]...
|
||||
|
||||
Run `autoconf' (and `autoheader', `aclocal', `automake', `autopoint'
|
||||
(formerly `gettextize'), and `libtoolize' where appropriate)
|
||||
repeatedly to remake the GNU Build System files in specified
|
||||
DIRECTORIES and their subdirectories (defaulting to `.').
|
||||
|
||||
By default, it only remakes those files that are older than their
|
||||
sources. If you install new versions of the GNU Build System,
|
||||
you can make `autoreconf' remake all of the files by giving it the
|
||||
`--force' option.
|
||||
|
||||
Operation modes:
|
||||
-h, --help print this help, then exit
|
||||
-V, --version print version number, then exit
|
||||
-v, --verbose verbosely report processing
|
||||
-d, --debug don't remove temporary files
|
||||
-f, --force consider all files obsolete
|
||||
-i, --install copy missing auxiliary files
|
||||
--no-recursive don't rebuild sub-packages
|
||||
-s, --symlink with -i, install symbolic links instead of copies
|
||||
-m, --make when applicable, re-run ./configure && make
|
||||
-W, --warnings=CATEGORY report the warnings falling in CATEGORY [syntax]
|
||||
|
||||
" . Autom4te::ChannelDefs::usage . "
|
||||
|
||||
The environment variable \`WARNINGS\' is honored. Some subtools might
|
||||
support other warning types, using \`all' is encouraged.
|
||||
|
||||
Library directories:
|
||||
-B, --prepend-include=DIR prepend directory DIR to search path
|
||||
-I, --include=DIR append directory DIR to search path
|
||||
|
||||
The environment variables AUTOM4TE, AUTOCONF, AUTOHEADER, AUTOMAKE,
|
||||
ACLOCAL, AUTOPOINT, LIBTOOLIZE, M4, and MAKE are honored.
|
||||
|
||||
Report bugs to <bug-autoconf\@gnu.org>.
|
||||
GNU Autoconf home page: <http://www.gnu.org/software/autoconf/>.
|
||||
General help using GNU software: <http://www.gnu.org/gethelp/>.
|
||||
";
|
||||
|
||||
# $VERSION
|
||||
# --------
|
||||
$version = "autoreconf (GNU Autoconf) 2.68
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
License GPLv3+/Autoconf: GNU GPL version 3 or later
|
||||
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
|
||||
Written by David J. MacKenzie and Akim Demaille.
|
||||
";
|
||||
|
||||
# Lib files.
|
||||
my $autoconf = $ENV{'AUTOCONF'} || '/i686-pc-linux-gnu/bin/autoconf';
|
||||
my $autoheader = $ENV{'AUTOHEADER'} || '/i686-pc-linux-gnu/bin/autoheader';
|
||||
my $autom4te = $ENV{'AUTOM4TE'} || '/i686-pc-linux-gnu/bin/autom4te';
|
||||
my $automake = $ENV{'AUTOMAKE'} || 'automake';
|
||||
my $aclocal = $ENV{'ACLOCAL'} || 'aclocal';
|
||||
my $libtoolize = $ENV{'LIBTOOLIZE'} || 'libtoolize';
|
||||
my $autopoint = $ENV{'AUTOPOINT'} || 'autopoint';
|
||||
my $make = $ENV{'MAKE'} || 'make';
|
||||
|
||||
# --install -- as --add-missing in other tools.
|
||||
my $install = 0;
|
||||
# symlink -- when --install, use symlinks instead.
|
||||
my $symlink = 0;
|
||||
# Does aclocal support --force?
|
||||
my $aclocal_supports_force = 0;
|
||||
# Does aclocal support -Wfoo?
|
||||
my $aclocal_supports_warnings = 0;
|
||||
# Does automake support --force-missing?
|
||||
my $automake_supports_force_missing = 0;
|
||||
# Does automake support -Wfoo?
|
||||
my $automake_supports_warnings = 0;
|
||||
|
||||
my @prepend_include;
|
||||
my @include;
|
||||
|
||||
# List of command line warning requests.
|
||||
my @warning;
|
||||
|
||||
# Rerun `./configure && make'?
|
||||
my $run_make = 0;
|
||||
|
||||
# Recurse into subpackages
|
||||
my $recursive = 1;
|
||||
|
||||
## ---------- ##
|
||||
## Routines. ##
|
||||
## ---------- ##
|
||||
|
||||
|
||||
# parse_args ()
|
||||
# -------------
|
||||
# Process any command line arguments.
|
||||
sub parse_args ()
|
||||
{
|
||||
my $srcdir;
|
||||
|
||||
getopt ("W|warnings=s" => \@warning,
|
||||
'I|include=s' => \@include,
|
||||
'B|prepend-include=s' => \@prepend_include,
|
||||
'i|install' => \$install,
|
||||
's|symlink' => \$symlink,
|
||||
'm|make' => \$run_make,
|
||||
'recursive!' => \$recursive);
|
||||
|
||||
# Split the warnings as a list of elements instead of a list of
|
||||
# lists.
|
||||
@warning = map { split /,/ } @warning;
|
||||
parse_WARNINGS;
|
||||
parse_warnings '--warnings', @warning;
|
||||
|
||||
# Even if the user specified a configure.ac, trim to get the
|
||||
# directory, and look for configure.ac again. Because (i) the code
|
||||
# is simpler, and (ii) we are still able to diagnose simultaneous
|
||||
# presence of configure.ac and configure.in.
|
||||
@ARGV = map { /configure\.(ac|in)$/ ? dirname ($_) : $_ } @ARGV;
|
||||
push @ARGV, '.' unless @ARGV;
|
||||
|
||||
if ($verbose && $debug)
|
||||
{
|
||||
for my $prog ($autoconf, $autoheader,
|
||||
$automake, $aclocal,
|
||||
$autopoint,
|
||||
$libtoolize)
|
||||
{
|
||||
xsystem ("$prog --version | sed 1q >&2");
|
||||
print STDERR "\n";
|
||||
}
|
||||
}
|
||||
|
||||
my $aclocal_help = `$aclocal --help 2>/dev/null`;
|
||||
my $automake_help = `$automake --help 2>/dev/null`;
|
||||
$aclocal_supports_force = $aclocal_help =~ /--force/;
|
||||
$aclocal_supports_warnings = $aclocal_help =~ /--warnings/;
|
||||
$automake_supports_force_missing = $automake_help =~ /--force-missing/;
|
||||
$automake_supports_warnings = $automake_help =~ /--warnings/;
|
||||
|
||||
# Dispatch autoreconf's option to the tools.
|
||||
# --include;
|
||||
$aclocal .= join (' -I ', '', map { shell_quote ($_) } @include);
|
||||
$autoconf .= join (' --include=', '', map { shell_quote ($_) } @include);
|
||||
$autoconf .= join (' --prepend-include=', '', map { shell_quote ($_) } @prepend_include);
|
||||
$autoheader .= join (' --include=', '', map { shell_quote ($_) } @include);
|
||||
$autoheader .= join (' --prepend-include=', '', map { shell_quote ($_) } @prepend_include);
|
||||
|
||||
# --install and --symlink;
|
||||
if ($install)
|
||||
{
|
||||
$automake .= ' --add-missing';
|
||||
$automake .= ' --copy' unless $symlink;
|
||||
$libtoolize .= ' --copy' unless $symlink;
|
||||
}
|
||||
# --force;
|
||||
if ($force)
|
||||
{
|
||||
$aclocal .= ' --force'
|
||||
if $aclocal_supports_force;
|
||||
$autoconf .= ' --force';
|
||||
$autoheader .= ' --force';
|
||||
$automake .= ' --force-missing'
|
||||
if $automake_supports_force_missing;
|
||||
$autopoint .= ' --force';
|
||||
$libtoolize .= ' --force';
|
||||
}
|
||||
else
|
||||
{
|
||||
# The implementation of --no-force is bogus in all implementations
|
||||
# of Automake up to 1.8, so we avoid it in these cases. (Automake
|
||||
# 1.8 is the first version where aclocal supports force, hence
|
||||
# the condition.)
|
||||
$automake .= ' --no-force'
|
||||
if $aclocal_supports_force;
|
||||
}
|
||||
# --verbose --verbose or --debug;
|
||||
if ($verbose > 1 || $debug)
|
||||
{
|
||||
$autoconf .= ' --verbose';
|
||||
$autoheader .= ' --verbose';
|
||||
$automake .= ' --verbose';
|
||||
$aclocal .= ' --verbose';
|
||||
}
|
||||
if ($debug)
|
||||
{
|
||||
$autoconf .= ' --debug';
|
||||
$autoheader .= ' --debug';
|
||||
$libtoolize .= ' --debug';
|
||||
}
|
||||
# --warnings;
|
||||
if (@warning)
|
||||
{
|
||||
my $warn = ' --warnings=' . join (',', @warning);
|
||||
$autoconf .= $warn;
|
||||
$autoheader .= $warn;
|
||||
$automake .= $warn
|
||||
if $automake_supports_warnings;
|
||||
$aclocal .= $warn
|
||||
if $aclocal_supports_warnings;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# &run_aclocal ($ACLOCAL, $FLAGS)
|
||||
# -------------------------------
|
||||
# Update aclocal.m4 as lazily as possible, as aclocal pre-1.8 always
|
||||
# overwrites aclocal.m4, hence triggers autoconf, autoheader, automake
|
||||
# etc. uselessly. aclocal 1.8+ does not need this.
|
||||
sub run_aclocal ($$)
|
||||
{
|
||||
my ($aclocal, $flags) = @_;
|
||||
|
||||
# aclocal 1.8+ does all this for free. It can be recognized by its
|
||||
# --force support.
|
||||
if ($aclocal_supports_force)
|
||||
{
|
||||
xsystem ("$aclocal $flags");
|
||||
}
|
||||
else
|
||||
{
|
||||
xsystem ("$aclocal $flags --output=aclocal.m4t");
|
||||
# aclocal may produce no output.
|
||||
if (-f 'aclocal.m4t')
|
||||
{
|
||||
update_file ('aclocal.m4t', 'aclocal.m4');
|
||||
# Make sure that the local m4 files are older than
|
||||
# aclocal.m4.
|
||||
#
|
||||
# Why is not always the case? Because we already run
|
||||
# aclocal at first (before tracing), which, for instance,
|
||||
# can find Gettext's macros in .../share/aclocal, so we may
|
||||
# have had the right aclocal.m4 already. Then autopoint is
|
||||
# run, and installs locally these M4 files. Then
|
||||
# autoreconf, via update_file, sees it is the _same_
|
||||
# aclocal.m4, and doesn't change its timestamp. But later,
|
||||
# Automake's Makefile expresses that aclocal.m4 depends on
|
||||
# these local files, which are newer, so it triggers aclocal
|
||||
# again.
|
||||
#
|
||||
# To make sure aclocal.m4 is no older, we change the
|
||||
# modification times of the local M4 files to be not newer
|
||||
# than it.
|
||||
#
|
||||
# First, where are the local files?
|
||||
my $aclocal_local_dir = '.';
|
||||
if ($flags =~ /-I\s+(\S+)/)
|
||||
{
|
||||
$aclocal_local_dir = $1;
|
||||
}
|
||||
# All the local files newer than aclocal.m4 are to be
|
||||
# made not newer than it.
|
||||
my $aclocal_m4_mtime = mtime ('aclocal.m4');
|
||||
for my $file (glob ("$aclocal_local_dir/*.m4"), 'acinclude.m4')
|
||||
{
|
||||
if ($aclocal_m4_mtime < mtime ($file))
|
||||
{
|
||||
debug "aging $file to be not newer than aclocal.m4";
|
||||
utime $aclocal_m4_mtime, $aclocal_m4_mtime, $file;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# &autoreconf_current_directory
|
||||
# -----------------------------
|
||||
sub autoreconf_current_directory ()
|
||||
{
|
||||
my $configure_ac = find_configure_ac;
|
||||
|
||||
# ---------------------- #
|
||||
# Is it using Autoconf? #
|
||||
# ---------------------- #
|
||||
|
||||
my $uses_autoconf;
|
||||
my $uses_gettext;
|
||||
if (-f $configure_ac)
|
||||
{
|
||||
my $configure_ac_file = new Autom4te::XFile "< $configure_ac";
|
||||
while ($_ = $configure_ac_file->getline)
|
||||
{
|
||||
s/#.*//;
|
||||
s/dnl.*//;
|
||||
$uses_autoconf = 1 if /AC_INIT/;
|
||||
# See below for why we look for gettext here.
|
||||
$uses_gettext = 1 if /^AM_GNU_GETTEXT_VERSION/;
|
||||
}
|
||||
}
|
||||
if (!$uses_autoconf)
|
||||
{
|
||||
verb "$configure_ac: not using Autoconf";
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
# ------------------- #
|
||||
# Running autopoint. #
|
||||
# ------------------- #
|
||||
|
||||
# Gettext is a bit of a problem: its macros are not necessarily
|
||||
# visible to aclocal, so if we start with a completely striped down
|
||||
# package (think of a fresh CVS checkout), running `aclocal' first
|
||||
# will fail: the Gettext macros are missing.
|
||||
#
|
||||
# Therefore, we can't use the traces to decide if we use Gettext or
|
||||
# not. I guess that once Gettext move to 2.5x we will be able to,
|
||||
# but in the meanwhile forget it.
|
||||
#
|
||||
# We can only grep for AM_GNU_GETTEXT_VERSION in configure.ac. You
|
||||
# might think this approach is naive, and indeed it is, as it
|
||||
# prevents one to embed AM_GNU_GETTEXT_VERSION in another *.m4, but
|
||||
# anyway we don't limit the generality, since... that's what
|
||||
# autopoint does. Actually, it is even more restrictive, as it
|
||||
# greps for `^AM_GNU_GETTEXT_VERSION('. We did this above, while
|
||||
# scanning configure.ac.
|
||||
if (!$uses_gettext)
|
||||
{
|
||||
verb "$configure_ac: not using Gettext";
|
||||
}
|
||||
elsif (!$install)
|
||||
{
|
||||
verb "$configure_ac: not running autopoint: --install not given";
|
||||
}
|
||||
else
|
||||
{
|
||||
xsystem_hint ("autopoint is needed because this package uses Gettext", "$autopoint");
|
||||
}
|
||||
|
||||
|
||||
# ----------------- #
|
||||
# Running aclocal. #
|
||||
# ----------------- #
|
||||
|
||||
# Run it first: it might discover new macros to add, e.g.,
|
||||
# AC_PROG_LIBTOOL, which we will trace later to see if Libtool is
|
||||
# used.
|
||||
#
|
||||
# Always run it. Tracking its sources for up-to-dateness is too
|
||||
# complex and too error prone. The best we can do is avoiding
|
||||
# nuking the time stamp.
|
||||
my $uses_aclocal = 1;
|
||||
|
||||
# Nevertheless, if aclocal.m4 exists and is not made by aclocal,
|
||||
# don't run aclocal.
|
||||
|
||||
if (-f 'aclocal.m4')
|
||||
{
|
||||
my $aclocal_m4 = new Autom4te::XFile 'aclocal.m4';
|
||||
$_ = $aclocal_m4->getline;
|
||||
$uses_aclocal = 0
|
||||
unless defined ($_) && /generated.*by aclocal/;
|
||||
}
|
||||
|
||||
# If there are flags for aclocal in Makefile.am, use them.
|
||||
my $aclocal_flags = '';
|
||||
if ($uses_aclocal && -f 'Makefile.am')
|
||||
{
|
||||
my $makefile = new Autom4te::XFile 'Makefile.am';
|
||||
while ($_ = $makefile->getline)
|
||||
{
|
||||
if (/^ACLOCAL_[A-Z_]*FLAGS\s*=\s*(.*)/)
|
||||
{
|
||||
$aclocal_flags = $1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$uses_aclocal)
|
||||
{
|
||||
verb "$configure_ac: not using aclocal";
|
||||
}
|
||||
else
|
||||
{
|
||||
# Some file systems have sub-second time stamps, and if so we may
|
||||
# run into trouble later, after we rerun autoconf and set the
|
||||
# time stamps of input files to be no greater than aclocal.m4,
|
||||
# because the time-stamp-setting operation (utime) has a
|
||||
# resolution of only 1 second. Work around the problem by
|
||||
# ensuring that there is at least a one-second window before the
|
||||
# time stamp of aclocal.m4t in which no file time stamps can
|
||||
# fall.
|
||||
sleep 1;
|
||||
|
||||
run_aclocal ($aclocal, $aclocal_flags);
|
||||
}
|
||||
|
||||
# We might have to rerun aclocal if Libtool (or others) imports new
|
||||
# macros.
|
||||
my $rerun_aclocal = 0;
|
||||
|
||||
|
||||
|
||||
# ------------------------------- #
|
||||
# See what tools will be needed. #
|
||||
# ------------------------------- #
|
||||
|
||||
# Perform a single trace reading to avoid --force forcing a rerun
|
||||
# between two --trace, that's useless. If there is no AC_INIT, then
|
||||
# we are not interested: it looks like a Cygnus thingy.
|
||||
my $aux_dir;
|
||||
my $uses_gettext_via_traces;
|
||||
my $uses_libtool;
|
||||
my $uses_libltdl;
|
||||
my $uses_autoheader;
|
||||
my $uses_automake;
|
||||
my @subdir;
|
||||
verb "$configure_ac: tracing";
|
||||
my $traces = new Autom4te::XFile
|
||||
("$autoconf"
|
||||
. join (' ',
|
||||
map { ' --trace=' . $_ . ':\$n::\${::}%' }
|
||||
# If you change this list, update the
|
||||
# `Autoreconf-preselections' section of autom4te.in.
|
||||
'AC_CONFIG_AUX_DIR',
|
||||
'AC_CONFIG_HEADERS',
|
||||
'AC_CONFIG_SUBDIRS',
|
||||
'AC_INIT',
|
||||
'AC_PROG_LIBTOOL',
|
||||
'LT_INIT',
|
||||
'LT_CONFIG_LTDL_DIR',
|
||||
'AM_GNU_GETTEXT',
|
||||
'AM_INIT_AUTOMAKE',
|
||||
)
|
||||
. ' |');
|
||||
while ($_ = $traces->getline)
|
||||
{
|
||||
chomp;
|
||||
my ($macro, @args) = split (/::/);
|
||||
$aux_dir = $args[0] if $macro eq "AC_CONFIG_AUX_DIR";
|
||||
$uses_autoconf = 1 if $macro eq "AC_INIT";
|
||||
$uses_gettext_via_traces = 1 if $macro eq "AM_GNU_GETTEXT";
|
||||
$uses_libtool = 1 if $macro eq "AC_PROG_LIBTOOL"
|
||||
|| $macro eq "LT_INIT";
|
||||
$uses_libltdl = 1 if $macro eq "LT_CONFIG_LTDL_DIR";
|
||||
$uses_autoheader = 1 if $macro eq "AC_CONFIG_HEADERS";
|
||||
$uses_automake = 1 if $macro eq "AM_INIT_AUTOMAKE";
|
||||
push @subdir, split (' ', $args[0])
|
||||
if $macro eq "AC_CONFIG_SUBDIRS" && $recursive;
|
||||
}
|
||||
|
||||
# The subdirs are *optional*, they may not exist.
|
||||
foreach (@subdir)
|
||||
{
|
||||
if (-d)
|
||||
{
|
||||
verb "$configure_ac: adding subdirectory $_ to autoreconf";
|
||||
autoreconf ($_);
|
||||
}
|
||||
else
|
||||
{
|
||||
verb "$configure_ac: subdirectory $_ not present";
|
||||
}
|
||||
}
|
||||
|
||||
# Gettext consistency checks...
|
||||
error "$configure_ac: AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION"
|
||||
if $uses_gettext_via_traces && ! $uses_gettext;
|
||||
error "$configure_ac: AM_GNU_GETTEXT_VERSION is used, but not AM_GNU_GETTEXT"
|
||||
if $uses_gettext && ! $uses_gettext_via_traces;
|
||||
|
||||
|
||||
# ---------------------------- #
|
||||
# Setting up the source tree. #
|
||||
# ---------------------------- #
|
||||
|
||||
# libtoolize, automake --add-missing etc. will drop files in the
|
||||
# $AUX_DIR. But these tools fail to install these files if the
|
||||
# directory itself does not exist, which valid: just imagine a CVS
|
||||
# repository with hand written code only (there is not even a need
|
||||
# for a Makefile.am!).
|
||||
|
||||
if (defined $aux_dir && ! -d $aux_dir)
|
||||
{
|
||||
verb "$configure_ac: creating directory $aux_dir";
|
||||
mkdir $aux_dir, 0755
|
||||
or error "cannot create $aux_dir: $!";
|
||||
}
|
||||
|
||||
|
||||
# -------------------- #
|
||||
# Running libtoolize. #
|
||||
# -------------------- #
|
||||
|
||||
if (!$uses_libtool)
|
||||
{
|
||||
verb "$configure_ac: not using Libtool";
|
||||
}
|
||||
elsif ($install)
|
||||
{
|
||||
if ($uses_libltdl)
|
||||
{
|
||||
$libtoolize .= " --ltdl";
|
||||
}
|
||||
xsystem_hint ("libtoolize is needed because this package uses Libtool", $libtoolize);
|
||||
$rerun_aclocal = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
verb "$configure_ac: not running libtoolize: --install not given";
|
||||
}
|
||||
|
||||
|
||||
|
||||
# ------------------- #
|
||||
# Rerunning aclocal. #
|
||||
# ------------------- #
|
||||
|
||||
# If we re-installed Libtool or Gettext, the macros might have changed.
|
||||
# Automake also needs an up-to-date aclocal.m4.
|
||||
if ($rerun_aclocal)
|
||||
{
|
||||
if (!$uses_aclocal)
|
||||
{
|
||||
verb "$configure_ac: not using aclocal";
|
||||
}
|
||||
else
|
||||
{
|
||||
run_aclocal ($aclocal, $aclocal_flags);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# ------------------ #
|
||||
# Running autoconf. #
|
||||
# ------------------ #
|
||||
|
||||
# Don't try to be smarter than `autoconf', which does its own up to
|
||||
# date checks.
|
||||
#
|
||||
# We prefer running autoconf before autoheader, because (i) the
|
||||
# latter runs the former, and (ii) autoconf is stricter than
|
||||
# autoheader. So all in all, autoconf should give better error
|
||||
# messages.
|
||||
xsystem ($autoconf);
|
||||
|
||||
|
||||
# -------------------- #
|
||||
# Running autoheader. #
|
||||
# -------------------- #
|
||||
|
||||
# We now consider that if AC_CONFIG_HEADERS is used, then autoheader
|
||||
# is used too.
|
||||
#
|
||||
# Just as for autoconf, up to date ness is performed by the tool
|
||||
# itself.
|
||||
#
|
||||
# Run it before automake, since the latter checks the presence of
|
||||
# config.h.in when it sees an AC_CONFIG_HEADERS.
|
||||
if (!$uses_autoheader)
|
||||
{
|
||||
verb "$configure_ac: not using Autoheader";
|
||||
}
|
||||
else
|
||||
{
|
||||
xsystem ($autoheader);
|
||||
}
|
||||
|
||||
|
||||
# ------------------ #
|
||||
# Running automake. #
|
||||
# ------------------ #
|
||||
|
||||
if (!$uses_automake)
|
||||
{
|
||||
verb "$configure_ac: not using Automake";
|
||||
}
|
||||
else
|
||||
{
|
||||
# We should always run automake, and let it decide whether it shall
|
||||
# update the file or not. In fact, the effect of `$force' is already
|
||||
# included in `$automake' via `--no-force'.
|
||||
xsystem ($automake);
|
||||
}
|
||||
|
||||
|
||||
# -------------- #
|
||||
# Running make. #
|
||||
# -------------- #
|
||||
|
||||
if ($run_make)
|
||||
{
|
||||
if (!-f "config.status")
|
||||
{
|
||||
verb "no config.status: cannot re-make";
|
||||
}
|
||||
else
|
||||
{
|
||||
xsystem ("./config.status --recheck");
|
||||
xsystem ("./config.status");
|
||||
if (!-f "Makefile")
|
||||
{
|
||||
verb "no Makefile: cannot re-make";
|
||||
}
|
||||
else
|
||||
{
|
||||
xsystem ("$make");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# &autoreconf ($DIRECTORY)
|
||||
# ------------------------
|
||||
# Reconf the $DIRECTORY.
|
||||
sub autoreconf ($)
|
||||
{
|
||||
my ($directory) = @_;
|
||||
my $cwd = cwd;
|
||||
|
||||
# The format for this message is not free: taken from Emacs, itself
|
||||
# using GNU Make's format.
|
||||
verb "Entering directory `$directory'";
|
||||
chdir $directory
|
||||
or error "cannot chdir to $directory: $!";
|
||||
|
||||
autoreconf_current_directory;
|
||||
|
||||
# The format is not free: taken from Emacs, itself using GNU Make's
|
||||
# format.
|
||||
verb "Leaving directory `$directory'";
|
||||
chdir $cwd
|
||||
or error "cannot chdir to $cwd: $!";
|
||||
}
|
||||
|
||||
|
||||
## ------ ##
|
||||
## Main. ##
|
||||
## ------ ##
|
||||
|
||||
# When debugging, it is convenient that all the related temporary
|
||||
# files be at the same place.
|
||||
mktmpdir ('ar');
|
||||
$ENV{'TMPDIR'} = $tmp;
|
||||
parse_args;
|
||||
|
||||
# Autoreconf all the given configure.ac. Unless `--no-recursive' is passed,
|
||||
# AC_CONFIG_SUBDIRS will be traversed in &autoreconf_current_directory.
|
||||
$ENV{'AUTOM4TE'} = $autom4te;
|
||||
for my $directory (@ARGV)
|
||||
{
|
||||
require_configure_ac ($directory);
|
||||
autoreconf ($directory);
|
||||
}
|
||||
|
||||
### Setup "GNU" style for perl-mode and cperl-mode.
|
||||
## Local Variables:
|
||||
## perl-indent-level: 2
|
||||
## perl-continued-statement-offset: 2
|
||||
## perl-continued-brace-offset: 0
|
||||
## perl-brace-offset: 0
|
||||
## perl-brace-imaginary-offset: 0
|
||||
## perl-label-offset: -2
|
||||
## cperl-indent-level: 2
|
||||
## cperl-brace-offset: 0
|
||||
## cperl-continued-brace-offset: 0
|
||||
## cperl-label-offset: -2
|
||||
## cperl-extra-newline-before-brace: t
|
||||
## cperl-merge-trailing-else: nil
|
||||
## cperl-continued-statement-offset: 2
|
||||
## End:
|
||||
-679
@@ -1,679 +0,0 @@
|
||||
#! /usr/bin/perl -w
|
||||
# -*- perl -*-
|
||||
# Generated from autoscan.in; do not edit by hand.
|
||||
|
||||
# autoscan - Create configure.scan (a preliminary configure.ac) for a package.
|
||||
# Copyright (C) 1994, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
|
||||
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Written by David MacKenzie <[email protected]>.
|
||||
|
||||
eval 'case $# in 0) exec /usr/bin/perl -S "$0";; *) exec /usr/bin/perl -S "$0" "$@";; esac'
|
||||
if 0;
|
||||
|
||||
BEGIN
|
||||
{
|
||||
my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '//share/autoconf';
|
||||
unshift @INC, $pkgdatadir;
|
||||
|
||||
# Override SHELL. On DJGPP SHELL may not be set to a shell
|
||||
# that can handle redirection and quote arguments correctly,
|
||||
# e.g.: COMMAND.COM. For DJGPP always use the shell that configure
|
||||
# has detected.
|
||||
$ENV{'SHELL'} = '/bin/sh' if ($^O eq 'dos');
|
||||
}
|
||||
|
||||
use Autom4te::ChannelDefs;
|
||||
use Autom4te::Configure_ac;
|
||||
use Autom4te::General;
|
||||
use Autom4te::FileUtils;
|
||||
use Autom4te::XFile;
|
||||
use File::Basename;
|
||||
use File::Find;
|
||||
use strict;
|
||||
|
||||
use vars qw(@cfiles @makefiles @shfiles @subdirs %printed);
|
||||
|
||||
# The kind of the words we are looking for.
|
||||
my @kinds = qw (function header identifier program
|
||||
makevar librarie);
|
||||
|
||||
# For each kind, the default macro.
|
||||
my %generic_macro =
|
||||
(
|
||||
'function' => 'AC_CHECK_FUNCS',
|
||||
'header' => 'AC_CHECK_HEADERS',
|
||||
'identifier' => 'AC_CHECK_TYPES',
|
||||
'program' => 'AC_CHECK_PROGS',
|
||||
'library' => 'AC_CHECK_LIB'
|
||||
);
|
||||
|
||||
my %kind_comment =
|
||||
(
|
||||
'function' => 'Checks for library functions.',
|
||||
'header' => 'Checks for header files.',
|
||||
'identifier' => 'Checks for typedefs, structures, and compiler characteristics.',
|
||||
'program' => 'Checks for programs.',
|
||||
);
|
||||
|
||||
# $USED{KIND}{ITEM} is the list of locations where the ITEM (of KIND) was used
|
||||
# in the user package.
|
||||
# For instance $USED{function}{alloca} is the list of `file:line' where
|
||||
# `alloca (...)' appears.
|
||||
my %used = ();
|
||||
|
||||
# $MACRO{KIND}{ITEM} is the list of macros to use to test ITEM.
|
||||
# Initialized from lib/autoscan/*. E.g., $MACRO{function}{alloca} contains
|
||||
# the singleton AC_FUNC_ALLOCA. Some require several checks.
|
||||
my %macro = ();
|
||||
|
||||
# $NEEDED_MACROS{MACRO} is an array of locations requiring MACRO.
|
||||
# E.g., $NEEDED_MACROS{AC_FUNC_ALLOC} the list of `file:line' containing
|
||||
# `alloca (...)'.
|
||||
my %needed_macros =
|
||||
(
|
||||
'AC_PREREQ' => [$me],
|
||||
);
|
||||
|
||||
my $configure_scan = 'configure.scan';
|
||||
my $log;
|
||||
|
||||
# Autoconf and lib files.
|
||||
my $autom4te = $ENV{'AUTOM4TE'} || '/i686-pc-linux-gnu/bin/autom4te';
|
||||
my $autoconf = "$autom4te --language=autoconf";
|
||||
my @prepend_include;
|
||||
my @include = ('//share/autoconf');
|
||||
|
||||
# $help
|
||||
# -----
|
||||
$help = "Usage: $0 [OPTION]... [SRCDIR]
|
||||
|
||||
Examine source files in the directory tree rooted at SRCDIR, or the
|
||||
current directory if none is given. Search the source files for
|
||||
common portability problems, check for incompleteness of
|
||||
`configure.ac', and create a file `$configure_scan' which is a
|
||||
preliminary `configure.ac' for that package.
|
||||
|
||||
-h, --help print this help, then exit
|
||||
-V, --version print version number, then exit
|
||||
-v, --verbose verbosely report processing
|
||||
-d, --debug don't remove temporary files
|
||||
|
||||
Library directories:
|
||||
-B, --prepend-include=DIR prepend directory DIR to search path
|
||||
-I, --include=DIR append directory DIR to search path
|
||||
|
||||
Report bugs to <bug-autoconf\@gnu.org>.
|
||||
GNU Autoconf home page: <http://www.gnu.org/software/autoconf/>.
|
||||
General help using GNU software: <http://www.gnu.org/gethelp/>.
|
||||
";
|
||||
|
||||
# $version
|
||||
# --------
|
||||
$version = "autoscan (GNU Autoconf) 2.68
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
License GPLv3+/Autoconf: GNU GPL version 3 or later
|
||||
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
|
||||
Written by David J. MacKenzie and Akim Demaille.
|
||||
";
|
||||
|
||||
|
||||
|
||||
|
||||
## ------------------------ ##
|
||||
## Command line interface. ##
|
||||
## ------------------------ ##
|
||||
|
||||
# parse_args ()
|
||||
# -------------
|
||||
# Process any command line arguments.
|
||||
sub parse_args ()
|
||||
{
|
||||
getopt ('I|include=s' => \@include,
|
||||
'B|prepend-include=s' => \@prepend_include);
|
||||
|
||||
die "$me: too many arguments
|
||||
Try `$me --help' for more information.\n"
|
||||
if @ARGV > 1;
|
||||
|
||||
my $srcdir = $ARGV[0] || ".";
|
||||
|
||||
verb "srcdir = $srcdir";
|
||||
chdir $srcdir || error "cannot cd to $srcdir: $!";
|
||||
}
|
||||
|
||||
|
||||
# init_tables ()
|
||||
# --------------
|
||||
# Put values in the tables of what to do with each token.
|
||||
sub init_tables ()
|
||||
{
|
||||
# The data file format supports only one line of macros per function.
|
||||
# If more than that is required for a common portability problem,
|
||||
# a new Autoconf macro should probably be written for that case,
|
||||
# instead of duplicating the code in lots of configure.ac files.
|
||||
my $file = find_file ("autoscan/autoscan.list",
|
||||
reverse (@prepend_include), @include);
|
||||
my $table = new Autom4te::XFile "< " . open_quote ($file);
|
||||
my $tables_are_consistent = 1;
|
||||
|
||||
while ($_ = $table->getline)
|
||||
{
|
||||
# Ignore blank lines and comments.
|
||||
next
|
||||
if /^\s*$/ || /^\s*\#/;
|
||||
|
||||
# '<kind>: <word> <macro invocation>' or...
|
||||
# '<kind>: <word> warn: <message>'.
|
||||
if (/^(\S+):\s+(\S+)\s+(\S.*)$/)
|
||||
{
|
||||
my ($kind, $word, $macro) = ($1, $2, $3);
|
||||
error "$file:$.: invalid kind: $_"
|
||||
unless grep { $_ eq $kind } @kinds;
|
||||
push @{$macro{$kind}{$word}}, $macro;
|
||||
}
|
||||
else
|
||||
{
|
||||
error "$file:$.: invalid definition: $_";
|
||||
}
|
||||
}
|
||||
|
||||
if ($debug)
|
||||
{
|
||||
foreach my $kind (@kinds)
|
||||
{
|
||||
foreach my $word (sort keys %{$macro{$kind}})
|
||||
{
|
||||
print "$kind: $word: @{$macro{$kind}{$word}}\n";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# used ($KIND, $WORD, [$WHERE])
|
||||
# -----------------------------
|
||||
# $WORD is used as a $KIND.
|
||||
sub used ($$;$)
|
||||
{
|
||||
my ($kind, $word, $where) = @_;
|
||||
$where ||= "$File::Find::name:$.";
|
||||
if (
|
||||
# Check for all the libraries. But `-links' is certainly a
|
||||
# `find' argument, and `-le', a `test' argument.
|
||||
($kind eq 'library' && $word !~ /^(e|inks)$/)
|
||||
# Other than libraries are to be checked only if listed in
|
||||
# the Autoscan library files.
|
||||
|| defined $macro{$kind}{$word}
|
||||
)
|
||||
{
|
||||
push (@{$used{$kind}{$word}}, $where);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
## ----------------------- ##
|
||||
## Scanning source files. ##
|
||||
## ----------------------- ##
|
||||
|
||||
|
||||
# scan_c_file ($FILE-NAME)
|
||||
# ------------------------
|
||||
sub scan_c_file ($)
|
||||
{
|
||||
my ($file_name) = @_;
|
||||
push @cfiles, $File::Find::name;
|
||||
|
||||
# Nonzero if in a multiline comment.
|
||||
my $in_comment = 0;
|
||||
|
||||
my $file = new Autom4te::XFile "< " . open_quote ($file_name);
|
||||
|
||||
while ($_ = $file->getline)
|
||||
{
|
||||
# Strip out comments.
|
||||
if ($in_comment && s,^.*?\*/,,)
|
||||
{
|
||||
$in_comment = 0;
|
||||
}
|
||||
# The whole line is inside a commment.
|
||||
next if $in_comment;
|
||||
# All on one line.
|
||||
s,/\*.*?\*/,,g;
|
||||
|
||||
# Starting on this line.
|
||||
if (s,/\*.*$,,)
|
||||
{
|
||||
$in_comment = 1;
|
||||
}
|
||||
|
||||
# Preprocessor directives.
|
||||
if (s/^\s*\#\s*//)
|
||||
{
|
||||
if (/^include\s*<([^>]*)>/)
|
||||
{
|
||||
used ('header', $1);
|
||||
}
|
||||
if (s/^(if|ifdef|ifndef|elif)\s+//)
|
||||
{
|
||||
foreach my $word (split (/\W+/))
|
||||
{
|
||||
used ('identifier', $word)
|
||||
unless $word eq 'defined' || $word !~ /^[a-zA-Z_]/;
|
||||
}
|
||||
}
|
||||
# Ignore other preprocessor directives.
|
||||
next;
|
||||
}
|
||||
|
||||
# Remove string and character constants.
|
||||
s,\"[^\"]*\",,g;
|
||||
s,\'[^\']*\',,g;
|
||||
|
||||
# Tokens in the code.
|
||||
# Maybe we should ignore function definitions (in column 0)?
|
||||
while (s/\b([a-zA-Z_]\w*)\s*\(/ /)
|
||||
{
|
||||
used ('function', $1);
|
||||
}
|
||||
while (s/\b([a-zA-Z_]\w*)\b/ /)
|
||||
{
|
||||
used ('identifier', $1);
|
||||
}
|
||||
}
|
||||
|
||||
$file->close;
|
||||
}
|
||||
|
||||
|
||||
# scan_makefile($MAKEFILE-NAME)
|
||||
# -----------------------------
|
||||
sub scan_makefile ($)
|
||||
{
|
||||
my ($file_name) = @_;
|
||||
push @makefiles, $File::Find::name;
|
||||
|
||||
my $file = new Autom4te::XFile "< " . open_quote ($file_name);
|
||||
|
||||
while ($_ = $file->getline)
|
||||
{
|
||||
# Strip out comments.
|
||||
s/#.*//;
|
||||
|
||||
# Variable assignments.
|
||||
while (s/\b([a-zA-Z_]\w*)\s*=/ /)
|
||||
{
|
||||
used ('makevar', $1);
|
||||
}
|
||||
# Be sure to catch a whole word. For instance `lex$U.$(OBJEXT)'
|
||||
# is a single token. Otherwise we might believe `lex' is needed.
|
||||
foreach my $word (split (/\s+/))
|
||||
{
|
||||
# Libraries.
|
||||
if ($word =~ /^-l([a-zA-Z_]\w*)$/)
|
||||
{
|
||||
used ('library', $1);
|
||||
}
|
||||
# Tokens in the code.
|
||||
# We allow some additional characters, e.g., `+', since
|
||||
# autoscan/programs includes `c++'.
|
||||
if ($word =~ /^[a-zA-Z_][\w+]*$/)
|
||||
{
|
||||
used ('program', $word);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$file->close;
|
||||
}
|
||||
|
||||
|
||||
# scan_sh_file($SHELL-SCRIPT-NAME)
|
||||
# --------------------------------
|
||||
sub scan_sh_file ($)
|
||||
{
|
||||
my ($file_name) = @_;
|
||||
push @shfiles, $File::Find::name;
|
||||
|
||||
my $file = new Autom4te::XFile "< " . open_quote ($file_name);
|
||||
|
||||
while ($_ = $file->getline)
|
||||
{
|
||||
# Strip out comments and variable references.
|
||||
s/#.*//;
|
||||
s/\${[^\}]*}//g;
|
||||
s/@[^@]*@//g;
|
||||
|
||||
# Tokens in the code.
|
||||
while (s/\b([a-zA-Z_]\w*)\b/ /)
|
||||
{
|
||||
used ('program', $1);
|
||||
}
|
||||
}
|
||||
|
||||
$file->close;
|
||||
}
|
||||
|
||||
|
||||
# scan_file ()
|
||||
# ------------
|
||||
# Called by &find on each file. $_ contains the current file name with
|
||||
# the current directory of the walk through.
|
||||
sub scan_file ()
|
||||
{
|
||||
# Wanted only if there is no corresponding FILE.in.
|
||||
return
|
||||
if -f "$_.in";
|
||||
|
||||
# Save $_ as Find::File requires it to be preserved.
|
||||
local $_ = $_;
|
||||
|
||||
# Strip a useless leading `./'.
|
||||
$File::Find::name =~ s,^\./,,;
|
||||
|
||||
if ($_ ne '.' and -d $_ and
|
||||
-f "$_/configure.in" ||
|
||||
-f "$_/configure.ac" ||
|
||||
-f "$_/configure.gnu" ||
|
||||
-f "$_/configure")
|
||||
{
|
||||
$File::Find::prune = 1;
|
||||
push @subdirs, $File::Find::name;
|
||||
}
|
||||
if (/\.[chlym](\.in)?$/)
|
||||
{
|
||||
used 'program', 'cc', $File::Find::name;
|
||||
scan_c_file ($_);
|
||||
}
|
||||
elsif (/\.(cc|cpp|cxx|CC|C|hh|hpp|hxx|HH|H|yy|ypp|ll|lpp)(\.in)?$/)
|
||||
{
|
||||
used 'program', 'c++', $File::Find::name;
|
||||
scan_c_file ($_);
|
||||
}
|
||||
elsif ((/^((?:GNUm|M|m)akefile)(\.in)?$/ && ! -f "$1.am")
|
||||
|| /^(?:GNUm|M|m)akefile(\.am)?$/)
|
||||
{
|
||||
scan_makefile ($_);
|
||||
}
|
||||
elsif (/\.sh(\.in)?$/)
|
||||
{
|
||||
scan_sh_file ($_);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# scan_files ()
|
||||
# -------------
|
||||
# Read through the files and collect lists of tokens in them
|
||||
# that might create nonportabilities.
|
||||
sub scan_files ()
|
||||
{
|
||||
find (\&scan_file, '.');
|
||||
|
||||
if ($verbose)
|
||||
{
|
||||
print "cfiles: @cfiles\n";
|
||||
print "makefiles: @makefiles\n";
|
||||
print "shfiles: @shfiles\n";
|
||||
|
||||
foreach my $kind (@kinds)
|
||||
{
|
||||
print "\n$kind:\n";
|
||||
foreach my $word (sort keys %{$used{$kind}})
|
||||
{
|
||||
print "$word: @{$used{$kind}{$word}}\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
## ----------------------- ##
|
||||
## Output configure.scan. ##
|
||||
## ----------------------- ##
|
||||
|
||||
|
||||
# output_kind ($FILE, $KIND)
|
||||
# --------------------------
|
||||
sub output_kind ($$)
|
||||
{
|
||||
my ($file, $kind) = @_;
|
||||
# Lists of words to be checked with the generic macro.
|
||||
my @have;
|
||||
|
||||
print $file "\n# $kind_comment{$kind}\n"
|
||||
if exists $kind_comment{$kind};
|
||||
foreach my $word (sort keys %{$used{$kind}})
|
||||
{
|
||||
# Output the needed macro invocations in $configure_scan if not
|
||||
# already printed, and remember these macros are needed.
|
||||
foreach my $macro (@{$macro{$kind}{$word}})
|
||||
{
|
||||
if ($macro =~ /^warn:\s+(.*)/)
|
||||
{
|
||||
my $message = $1;
|
||||
foreach my $location (@{$used{$kind}{$word}})
|
||||
{
|
||||
warn "$location: warning: $message\n";
|
||||
}
|
||||
}
|
||||
elsif (exists $generic_macro{$kind}
|
||||
&& $macro eq $generic_macro{$kind})
|
||||
{
|
||||
push (@have, $word);
|
||||
push (@{$needed_macros{"$generic_macro{$kind}([$word])"}},
|
||||
@{$used{$kind}{$word}});
|
||||
}
|
||||
else
|
||||
{
|
||||
if (! $printed{$macro})
|
||||
{
|
||||
print $file "$macro\n";
|
||||
$printed{$macro} = 1;
|
||||
}
|
||||
push (@{$needed_macros{$macro}},
|
||||
@{$used{$kind}{$word}});
|
||||
}
|
||||
}
|
||||
}
|
||||
print $file "$generic_macro{$kind}([" . join(' ', sort(@have)) . "])\n"
|
||||
if @have;
|
||||
}
|
||||
|
||||
|
||||
# output_libraries ($FILE)
|
||||
# ------------------------
|
||||
sub output_libraries ($)
|
||||
{
|
||||
my ($file) = @_;
|
||||
|
||||
print $file "\n# Checks for libraries.\n";
|
||||
foreach my $word (sort keys %{$used{'library'}})
|
||||
{
|
||||
print $file "# FIXME: Replace `main' with a function in `-l$word':\n";
|
||||
print $file "AC_CHECK_LIB([$word], [main])\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# output ($CONFIGURE_SCAN)
|
||||
# ------------------------
|
||||
# Print a proto configure.ac.
|
||||
sub output ($)
|
||||
{
|
||||
my $configure_scan = shift;
|
||||
my %unique_makefiles;
|
||||
|
||||
my $file = new Autom4te::XFile "> " . open_quote ($configure_scan);
|
||||
|
||||
print $file
|
||||
("# -*- Autoconf -*-\n" .
|
||||
"# Process this file with autoconf to produce a configure script.\n" .
|
||||
"\n" .
|
||||
"AC_PREREQ([2.68])\n" .
|
||||
"AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])\n");
|
||||
if (defined $cfiles[0])
|
||||
{
|
||||
print $file "AC_CONFIG_SRCDIR([$cfiles[0]])\n";
|
||||
print $file "AC_CONFIG_HEADERS([config.h])\n";
|
||||
}
|
||||
|
||||
output_kind ($file, 'program');
|
||||
output_kind ($file, 'makevar');
|
||||
output_libraries ($file);
|
||||
output_kind ($file, 'header');
|
||||
output_kind ($file, 'identifier');
|
||||
output_kind ($file, 'function');
|
||||
|
||||
print $file "\n";
|
||||
if (@makefiles)
|
||||
{
|
||||
# Change DIR/Makefile.in to DIR/Makefile.
|
||||
foreach my $m (@makefiles)
|
||||
{
|
||||
$m =~ s/\.(?:in|am)$//;
|
||||
$unique_makefiles{$m}++;
|
||||
}
|
||||
print $file ("AC_CONFIG_FILES([",
|
||||
join ("\n ",
|
||||
sort keys %unique_makefiles), "])\n");
|
||||
}
|
||||
if (@subdirs)
|
||||
{
|
||||
print $file ("AC_CONFIG_SUBDIRS([",
|
||||
join ("\n ",
|
||||
sort @subdirs), "])\n");
|
||||
}
|
||||
print $file "AC_OUTPUT\n";
|
||||
|
||||
$file->close;
|
||||
}
|
||||
|
||||
|
||||
|
||||
## --------------------------------------- ##
|
||||
## Checking the accuracy of configure.ac. ##
|
||||
## --------------------------------------- ##
|
||||
|
||||
|
||||
# &check_configure_ac ($CONFIGURE_AC)
|
||||
# -----------------------------------
|
||||
# Use autoconf to check if all the suggested macros are included
|
||||
# in CONFIGURE_AC.
|
||||
sub check_configure_ac ($)
|
||||
{
|
||||
my ($configure_ac) = @_;
|
||||
|
||||
# Find what needed macros are invoked in CONFIGURE_AC.
|
||||
# I'd be very happy if someone could explain to me why sort (uniq ...)
|
||||
# doesn't work properly: I need `uniq (sort ...)'. --akim
|
||||
my $trace_option =
|
||||
join (' --trace=', '',
|
||||
uniq (sort (map { s/\(.*//; $_ } keys %needed_macros)));
|
||||
|
||||
verb "running: $autoconf $trace_option $configure_ac";
|
||||
my $traces =
|
||||
new Autom4te::XFile "$autoconf $trace_option $configure_ac |";
|
||||
|
||||
while ($_ = $traces->getline)
|
||||
{
|
||||
chomp;
|
||||
my ($file, $line, $macro, @args) = split (/:/, $_);
|
||||
if ($macro =~ /^AC_CHECK_(HEADER|FUNC|TYPE|MEMBER)S$/)
|
||||
{
|
||||
# To be rigorous, we should distinguish between space and comma
|
||||
# separated macros. But there is no point.
|
||||
foreach my $word (split (/\s|,/, $args[0]))
|
||||
{
|
||||
# AC_CHECK_MEMBERS wants `struct' or `union'.
|
||||
if ($macro eq "AC_CHECK_MEMBERS"
|
||||
&& $word =~ /^stat.st_/)
|
||||
{
|
||||
$word = "struct " . $word;
|
||||
}
|
||||
delete $needed_macros{"$macro([$word])"};
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
delete $needed_macros{$macro};
|
||||
}
|
||||
}
|
||||
|
||||
$traces->close;
|
||||
|
||||
# Report the missing macros.
|
||||
foreach my $macro (sort keys %needed_macros)
|
||||
{
|
||||
warn ("$configure_ac: warning: missing $macro wanted by: "
|
||||
. (${$needed_macros{$macro}}[0])
|
||||
. "\n");
|
||||
print $log "$me: warning: missing $macro wanted by: \n";
|
||||
foreach my $need (@{$needed_macros{$macro}})
|
||||
{
|
||||
print $log "\t$need\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
## -------------- ##
|
||||
## Main program. ##
|
||||
## -------------- ##
|
||||
|
||||
parse_args;
|
||||
$log = new Autom4te::XFile "> " . open_quote ("$me.log");
|
||||
|
||||
$autoconf .= " --debug" if $debug;
|
||||
$autoconf .= " --verbose" if $verbose;
|
||||
$autoconf .= join (' --include=', '', map { shell_quote ($_) } @include);
|
||||
$autoconf .= join (' --prepend-include=', '', map { shell_quote ($_) } @prepend_include);
|
||||
|
||||
my $configure_ac = find_configure_ac;
|
||||
init_tables;
|
||||
scan_files;
|
||||
output ('configure.scan');
|
||||
if (-f $configure_ac)
|
||||
{
|
||||
check_configure_ac ($configure_ac);
|
||||
}
|
||||
# This close is really needed. For some reason, probably best named
|
||||
# a bug, it seems that the dtor of $LOG is not called automatically
|
||||
# at END. It results in a truncated file.
|
||||
$log->close;
|
||||
exit 0;
|
||||
|
||||
### Setup "GNU" style for perl-mode and cperl-mode.
|
||||
## Local Variables:
|
||||
## perl-indent-level: 2
|
||||
## perl-continued-statement-offset: 2
|
||||
## perl-continued-brace-offset: 0
|
||||
## perl-brace-offset: 0
|
||||
## perl-brace-imaginary-offset: 0
|
||||
## perl-label-offset: -2
|
||||
## cperl-indent-level: 2
|
||||
## cperl-brace-offset: 0
|
||||
## cperl-continued-brace-offset: 0
|
||||
## cperl-label-offset: -2
|
||||
## cperl-extra-newline-before-brace: t
|
||||
## cperl-merge-trailing-else: nil
|
||||
## cperl-continued-statement-offset: 2
|
||||
## End:
|
||||
-1064
File diff suppressed because it is too large
Load Diff
@@ -1,153 +0,0 @@
|
||||
#! /usr/bin/perl -w
|
||||
# -*- perl -*-
|
||||
# Generated from ifnames.in; do not edit by hand.
|
||||
|
||||
eval 'case $# in 0) exec /usr/bin/perl -S "$0";; *) exec /usr/bin/perl -S "$0" "$@";; esac'
|
||||
if 0;
|
||||
|
||||
# ifnames - print the identifiers used in C preprocessor conditionals
|
||||
|
||||
# Copyright (C) 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2005, 2006,
|
||||
# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
|
||||
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Reads from stdin if no files are given.
|
||||
# Writes to stdout.
|
||||
|
||||
# Written by David MacKenzie <[email protected]>
|
||||
# and Paul Eggert <[email protected]>.
|
||||
|
||||
BEGIN
|
||||
{
|
||||
my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '//share/autoconf';
|
||||
unshift @INC, $pkgdatadir;
|
||||
|
||||
# Override SHELL. On DJGPP SHELL may not be set to a shell
|
||||
# that can handle redirection and quote arguments correctly,
|
||||
# e.g.: COMMAND.COM. For DJGPP always use the shell that configure
|
||||
# has detected.
|
||||
$ENV{'SHELL'} = '/bin/sh' if ($^O eq 'dos');
|
||||
}
|
||||
|
||||
use Autom4te::General;
|
||||
use Autom4te::XFile;
|
||||
use Autom4te::FileUtils;
|
||||
|
||||
# $HELP
|
||||
# -----
|
||||
$help = "Usage: $0 [OPTION]... [FILE]...
|
||||
|
||||
Scan all of the C source FILES (or the standard input, if none are
|
||||
given) and write to the standard output a sorted list of all the
|
||||
identifiers that appear in those files in `#if', `#elif', `#ifdef', or
|
||||
`#ifndef' directives. Print each identifier on a line, followed by a
|
||||
space-separated list of the files in which that identifier occurs.
|
||||
|
||||
-h, --help print this help, then exit
|
||||
-V, --version print version number, then exit
|
||||
|
||||
Report bugs to <bug-autoconf\@gnu.org>.
|
||||
GNU Autoconf home page: <http://www.gnu.org/software/autoconf/>.
|
||||
General help using GNU software: <http://www.gnu.org/gethelp/>.
|
||||
";
|
||||
|
||||
|
||||
# $VERSION
|
||||
# --------
|
||||
$version = "ifnames (GNU Autoconf) 2.68
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
License GPLv3+/Autoconf: GNU GPL version 3 or later
|
||||
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
|
||||
Written by David J. MacKenzie and Paul Eggert.
|
||||
";
|
||||
|
||||
|
||||
# &parse_args ()
|
||||
# --------------
|
||||
# Process any command line arguments.
|
||||
sub parse_args ()
|
||||
{
|
||||
getopt ();
|
||||
}
|
||||
|
||||
|
||||
# %OCCURRENCE
|
||||
# -----------
|
||||
my %occurrence;
|
||||
|
||||
|
||||
# &scan_file ($FILE-NAME)
|
||||
# -----------------------
|
||||
sub scan_file ($)
|
||||
{
|
||||
my ($file_name) = @_;
|
||||
my $file = new Autom4te::XFile ("< " . open_quote ($file_name));
|
||||
while ($_ = $file->getline)
|
||||
{
|
||||
# Continuation lines.
|
||||
$_ .= $file->getline
|
||||
while (s/\\$//);
|
||||
|
||||
# Preprocessor directives.
|
||||
if (s/^\s*\#\s*(if|ifdef|ifndef|elif)\s+//)
|
||||
{
|
||||
# Remove comments. Not perfect, but close enough.
|
||||
s(/\*.*?\*/)();
|
||||
s(/\*.*)();
|
||||
s(//.*)();
|
||||
foreach my $word (split (/\W+/))
|
||||
{
|
||||
next
|
||||
if $word eq 'defined' || $word !~ /^[a-zA-Z_]/;
|
||||
$occurrence{$word}{$file_name} = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
## ------ ##
|
||||
## Main. ##
|
||||
## ------ ##
|
||||
|
||||
parse_args();
|
||||
foreach (@ARGV)
|
||||
{
|
||||
scan_file ($_);
|
||||
}
|
||||
foreach (sort keys %occurrence)
|
||||
{
|
||||
print "$_ ", join (' ', sort keys %{$occurrence{$_}}), "\n";
|
||||
}
|
||||
|
||||
### Setup "GNU" style for perl-mode and cperl-mode.
|
||||
## Local Variables:
|
||||
## perl-indent-level: 2
|
||||
## perl-continued-statement-offset: 2
|
||||
## perl-continued-brace-offset: 0
|
||||
## perl-brace-offset: 0
|
||||
## perl-brace-imaginary-offset: 0
|
||||
## perl-label-offset: -2
|
||||
## cperl-indent-level: 2
|
||||
## cperl-brace-offset: 0
|
||||
## cperl-continued-brace-offset: 0
|
||||
## cperl-label-offset: -2
|
||||
## cperl-extra-newline-before-brace: t
|
||||
## cperl-merge-trailing-else: nil
|
||||
## cperl-continued-statement-offset: 2
|
||||
## End:
|
||||
-10988
File diff suppressed because it is too large
Load Diff
-2555
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
-41
@@ -1,41 +0,0 @@
|
||||
# libltdl.la - a libtool library file
|
||||
# Generated by libtool (GNU libtool) 2.4.2
|
||||
#
|
||||
# Please DO NOT delete this file!
|
||||
# It is necessary for linking the library.
|
||||
|
||||
# The name that we can dlopen(3).
|
||||
dlname='libltdl.so.7'
|
||||
|
||||
# Names of this library.
|
||||
library_names='libltdl.so.7.3.0 libltdl.so.7 libltdl.so'
|
||||
|
||||
# The name of the static archive.
|
||||
old_library='libltdl.a'
|
||||
|
||||
# Linker flags that can not go in dependency_libs.
|
||||
inherited_linker_flags=''
|
||||
|
||||
# Libraries that this one depends upon.
|
||||
dependency_libs=' -ldl'
|
||||
|
||||
# Names of additional weak libraries provided by this library
|
||||
weak_library_names=''
|
||||
|
||||
# Version information for libltdl.
|
||||
current=10
|
||||
age=3
|
||||
revision=0
|
||||
|
||||
# Is this an already installed library?
|
||||
installed=yes
|
||||
|
||||
# Should we warn about portability when linking against -modules?
|
||||
shouldnotlink=no
|
||||
|
||||
# Files to dlopen/dlpreopen
|
||||
dlopen=''
|
||||
dlpreopen=''
|
||||
|
||||
# Directory that this library needs to be installed in:
|
||||
libdir='/i686-pc-linux-gnu/lib'
|
||||
-1
@@ -1 +0,0 @@
|
||||
libltdl.so.7.3.0
|
||||
-1
@@ -1 +0,0 @@
|
||||
libltdl.so.7.3.0
|
||||
BIN
Binary file not shown.
@@ -1,90 +0,0 @@
|
||||
/* lt_dlloader.h -- dynamic library loader interface
|
||||
|
||||
Copyright (C) 2004, 2007, 2008 Free Software Foundation, Inc.
|
||||
Written by Gary V. Vaughan, 2004
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
GNU Libtool package. Report bugs to [email protected].
|
||||
|
||||
GNU Libltdl is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
As a special exception to the GNU Lesser General Public License,
|
||||
if you distribute this file as part of a program or library that
|
||||
is built using GNU Libtool, you may include this file under the
|
||||
same distribution terms that you use for the rest of that program.
|
||||
|
||||
GNU Libltdl 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 Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#if !defined(LT_DLLOADER_H)
|
||||
#define LT_DLLOADER_H 1
|
||||
|
||||
#include <libltdl/lt_system.h>
|
||||
|
||||
LT_BEGIN_C_DECLS
|
||||
|
||||
typedef void * lt_dlloader;
|
||||
typedef void * lt_module;
|
||||
typedef void * lt_user_data;
|
||||
typedef struct lt__advise * lt_dladvise;
|
||||
|
||||
/* Function pointer types for module loader vtable entries: */
|
||||
typedef lt_module lt_module_open (lt_user_data data,
|
||||
const char *filename,
|
||||
lt_dladvise advise);
|
||||
typedef int lt_module_close (lt_user_data data,
|
||||
lt_module module);
|
||||
typedef void * lt_find_sym (lt_user_data data, lt_module module,
|
||||
const char *symbolname);
|
||||
typedef int lt_dlloader_init (lt_user_data data);
|
||||
typedef int lt_dlloader_exit (lt_user_data data);
|
||||
|
||||
/* Default priority is LT_DLLOADER_PREPEND if none is explicitly given. */
|
||||
typedef enum {
|
||||
LT_DLLOADER_PREPEND = 0, LT_DLLOADER_APPEND
|
||||
} lt_dlloader_priority;
|
||||
|
||||
/* This structure defines a module loader, as populated by the get_vtable
|
||||
entry point of each loader. */
|
||||
typedef struct {
|
||||
const char * name;
|
||||
const char * sym_prefix;
|
||||
lt_module_open * module_open;
|
||||
lt_module_close * module_close;
|
||||
lt_find_sym * find_sym;
|
||||
lt_dlloader_init * dlloader_init;
|
||||
lt_dlloader_exit * dlloader_exit;
|
||||
lt_user_data dlloader_data;
|
||||
lt_dlloader_priority priority;
|
||||
} lt_dlvtable;
|
||||
|
||||
LT_SCOPE int lt_dlloader_add (const lt_dlvtable *vtable);
|
||||
LT_SCOPE lt_dlloader lt_dlloader_next (const lt_dlloader loader);
|
||||
|
||||
LT_SCOPE lt_dlvtable * lt_dlloader_remove (const char *name);
|
||||
LT_SCOPE const lt_dlvtable *lt_dlloader_find (const char *name);
|
||||
LT_SCOPE const lt_dlvtable *lt_dlloader_get (lt_dlloader loader);
|
||||
|
||||
|
||||
/* Type of a function to get a loader's vtable: */
|
||||
typedef const lt_dlvtable *lt_get_vtable (lt_user_data data);
|
||||
|
||||
#ifdef LT_DEBUG_LOADERS
|
||||
LT_SCOPE void lt_dlloader_dump (void);
|
||||
#endif
|
||||
|
||||
LT_END_C_DECLS
|
||||
|
||||
#endif /*!defined(LT_DLLOADER_H)*/
|
||||
@@ -1,85 +0,0 @@
|
||||
/* lt_error.h -- error propogation interface
|
||||
|
||||
Copyright (C) 1999, 2000, 2001, 2004, 2007 Free Software Foundation, Inc.
|
||||
Written by Thomas Tanner, 1999
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
GNU Libtool package. Report bugs to [email protected].
|
||||
|
||||
GNU Libltdl is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
As a special exception to the GNU Lesser General Public License,
|
||||
if you distribute this file as part of a program or library that
|
||||
is built using GNU Libtool, you may include this file under the
|
||||
same distribution terms that you use for the rest of that program.
|
||||
|
||||
GNU Libltdl 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 Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
/* Only include this header file once. */
|
||||
#if !defined(LT_ERROR_H)
|
||||
#define LT_ERROR_H 1
|
||||
|
||||
#include <libltdl/lt_system.h>
|
||||
|
||||
LT_BEGIN_C_DECLS
|
||||
|
||||
/* Defining error strings alongside their symbolic names in a macro in
|
||||
this way allows us to expand the macro in different contexts with
|
||||
confidence that the enumeration of symbolic names will map correctly
|
||||
onto the table of error strings. \0 is appended to the strings to
|
||||
expilicitely initialize the string terminator. */
|
||||
#define lt_dlerror_table \
|
||||
LT_ERROR(UNKNOWN, "unknown error\0") \
|
||||
LT_ERROR(DLOPEN_NOT_SUPPORTED, "dlopen support not available\0") \
|
||||
LT_ERROR(INVALID_LOADER, "invalid loader\0") \
|
||||
LT_ERROR(INIT_LOADER, "loader initialization failed\0") \
|
||||
LT_ERROR(REMOVE_LOADER, "loader removal failed\0") \
|
||||
LT_ERROR(FILE_NOT_FOUND, "file not found\0") \
|
||||
LT_ERROR(DEPLIB_NOT_FOUND, "dependency library not found\0") \
|
||||
LT_ERROR(NO_SYMBOLS, "no symbols defined\0") \
|
||||
LT_ERROR(CANNOT_OPEN, "can't open the module\0") \
|
||||
LT_ERROR(CANNOT_CLOSE, "can't close the module\0") \
|
||||
LT_ERROR(SYMBOL_NOT_FOUND, "symbol not found\0") \
|
||||
LT_ERROR(NO_MEMORY, "not enough memory\0") \
|
||||
LT_ERROR(INVALID_HANDLE, "invalid module handle\0") \
|
||||
LT_ERROR(BUFFER_OVERFLOW, "internal buffer overflow\0") \
|
||||
LT_ERROR(INVALID_ERRORCODE, "invalid errorcode\0") \
|
||||
LT_ERROR(SHUTDOWN, "library already shutdown\0") \
|
||||
LT_ERROR(CLOSE_RESIDENT_MODULE, "can't close resident module\0") \
|
||||
LT_ERROR(INVALID_MUTEX_ARGS, "internal error (code withdrawn)\0")\
|
||||
LT_ERROR(INVALID_POSITION, "invalid search path insert position\0")\
|
||||
LT_ERROR(CONFLICTING_FLAGS, "symbol visibility can be global or local\0")
|
||||
|
||||
/* Enumerate the symbolic error names. */
|
||||
enum {
|
||||
#define LT_ERROR(name, diagnostic) LT_CONC(LT_ERROR_, name),
|
||||
lt_dlerror_table
|
||||
#undef LT_ERROR
|
||||
|
||||
LT_ERROR_MAX
|
||||
};
|
||||
|
||||
/* Should be max of the error string lengths above (plus one for C++) */
|
||||
#define LT_ERROR_LEN_MAX (41)
|
||||
|
||||
/* These functions are only useful from inside custom module loaders. */
|
||||
LT_SCOPE int lt_dladderror (const char *diagnostic);
|
||||
LT_SCOPE int lt_dlseterror (int errorcode);
|
||||
|
||||
|
||||
LT_END_C_DECLS
|
||||
|
||||
#endif /*!defined(LT_ERROR_H)*/
|
||||
@@ -1,166 +0,0 @@
|
||||
/* lt_system.h -- system portability abstraction layer
|
||||
|
||||
Copyright (C) 2004, 2007, 2010 Free Software Foundation, Inc.
|
||||
Written by Gary V. Vaughan, 2004
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
GNU Libtool package. Report bugs to [email protected].
|
||||
|
||||
GNU Libltdl is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
As a special exception to the GNU Lesser General Public License,
|
||||
if you distribute this file as part of a program or library that
|
||||
is built using GNU Libtool, you may include this file under the
|
||||
same distribution terms that you use for the rest of that program.
|
||||
|
||||
GNU Libltdl 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 Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#if !defined(LT_SYSTEM_H)
|
||||
#define LT_SYSTEM_H 1
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
/* Some systems do not define EXIT_*, even with STDC_HEADERS. */
|
||||
#if !defined(EXIT_SUCCESS)
|
||||
# define EXIT_SUCCESS 0
|
||||
#endif
|
||||
#if !defined(EXIT_FAILURE)
|
||||
# define EXIT_FAILURE 1
|
||||
#endif
|
||||
|
||||
/* Just pick a big number... */
|
||||
#define LT_FILENAME_MAX 2048
|
||||
|
||||
|
||||
/* Saves on those hard to debug '\0' typos.... */
|
||||
#define LT_EOS_CHAR '\0'
|
||||
|
||||
/* LTDL_BEGIN_C_DECLS should be used at the beginning of your declarations,
|
||||
so that C++ compilers don't mangle their names. Use LTDL_END_C_DECLS at
|
||||
the end of C declarations. */
|
||||
#if defined(__cplusplus)
|
||||
# define LT_BEGIN_C_DECLS extern "C" {
|
||||
# define LT_END_C_DECLS }
|
||||
#else
|
||||
# define LT_BEGIN_C_DECLS /* empty */
|
||||
# define LT_END_C_DECLS /* empty */
|
||||
#endif
|
||||
|
||||
/* LT_STMT_START/END are used to create macros which expand to a
|
||||
a single compound statement in a portable way. */
|
||||
#if defined (__GNUC__) && !defined (__STRICT_ANSI__) && !defined (__cplusplus)
|
||||
# define LT_STMT_START (void)(
|
||||
# define LT_STMT_END )
|
||||
#else
|
||||
# if (defined (sun) || defined (__sun__))
|
||||
# define LT_STMT_START if (1)
|
||||
# define LT_STMT_END else (void)0
|
||||
# else
|
||||
# define LT_STMT_START do
|
||||
# define LT_STMT_END while (0)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
|
||||
#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
|
||||
/* DATA imports from DLLs on WIN32 con't be const, because runtime
|
||||
relocations are performed -- see ld's documentation on pseudo-relocs. */
|
||||
# define LT_DLSYM_CONST
|
||||
#elif defined(__osf__)
|
||||
/* This system does not cope well with relocations in const data. */
|
||||
# define LT_DLSYM_CONST
|
||||
#else
|
||||
# define LT_DLSYM_CONST const
|
||||
#endif
|
||||
|
||||
/* Canonicalise Windows and Cygwin recognition macros.
|
||||
To match the values set by recent Cygwin compilers, make sure that if
|
||||
__CYGWIN__ is defined (after canonicalisation), __WINDOWS__ is NOT! */
|
||||
#if defined(__CYGWIN32__) && !defined(__CYGWIN__)
|
||||
# define __CYGWIN__ __CYGWIN32__
|
||||
#endif
|
||||
#if defined(__CYGWIN__)
|
||||
# if defined(__WINDOWS__)
|
||||
# undef __WINDOWS__
|
||||
# endif
|
||||
#elif defined(_WIN32)
|
||||
# define __WINDOWS__ _WIN32
|
||||
#elif defined(WIN32)
|
||||
# define __WINDOWS__ WIN32
|
||||
#endif
|
||||
#if defined(__CYGWIN__) && defined(__WINDOWS__)
|
||||
# undef __WINDOWS__
|
||||
#endif
|
||||
|
||||
|
||||
/* DLL building support on win32 hosts; mostly to workaround their
|
||||
ridiculous implementation of data symbol exporting. */
|
||||
#if !defined(LT_SCOPE)
|
||||
# if defined(__WINDOWS__) || defined(__CYGWIN__)
|
||||
# if defined(DLL_EXPORT) /* defined by libtool (if required) */
|
||||
# define LT_SCOPE extern __declspec(dllexport)
|
||||
# endif
|
||||
# if defined(LIBLTDL_DLL_IMPORT) /* define if linking with this dll */
|
||||
/* note: cygwin/mingw compilers can rely instead on auto-import */
|
||||
# define LT_SCOPE extern __declspec(dllimport)
|
||||
# endif
|
||||
# endif
|
||||
# if !defined(LT_SCOPE) /* static linking or !__WINDOWS__ */
|
||||
# define LT_SCOPE extern
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(__WINDOWS__)
|
||||
/* LT_DIRSEP_CHAR is accepted *in addition* to '/' as a directory
|
||||
separator when it is set. */
|
||||
# define LT_DIRSEP_CHAR '\\'
|
||||
# define LT_PATHSEP_CHAR ';'
|
||||
#else
|
||||
# define LT_PATHSEP_CHAR ':'
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) /* Visual Studio */
|
||||
# define R_OK 4
|
||||
#endif
|
||||
|
||||
/* fopen() mode flags for reading a text file */
|
||||
#undef LT_READTEXT_MODE
|
||||
#if defined(__WINDOWS__) || defined(__CYGWIN__)
|
||||
# define LT_READTEXT_MODE "rt"
|
||||
#else
|
||||
# define LT_READTEXT_MODE "r"
|
||||
#endif
|
||||
|
||||
/* The extra indirection to the LT__STR and LT__CONC macros is required so
|
||||
that if the arguments to LT_STR() (or LT_CONC()) are themselves macros,
|
||||
they will be expanded before being quoted. */
|
||||
#ifndef LT_STR
|
||||
# define LT__STR(arg) #arg
|
||||
# define LT_STR(arg) LT__STR(arg)
|
||||
#endif
|
||||
|
||||
#ifndef LT_CONC
|
||||
# define LT__CONC(a, b) a##b
|
||||
# define LT_CONC(a, b) LT__CONC(a, b)
|
||||
#endif
|
||||
#ifndef LT_CONC3
|
||||
# define LT__CONC3(a, b, c) a##b##c
|
||||
# define LT_CONC3(a, b, c) LT__CONC3(a, b, c)
|
||||
#endif
|
||||
|
||||
#endif /*!defined(LT_SYSTEM_H)*/
|
||||
@@ -1,163 +0,0 @@
|
||||
/* ltdl.h -- generic dlopen functions
|
||||
|
||||
Copyright (C) 1998-2000, 2004, 2005,
|
||||
2007, 2008 Free Software Foundation, Inc.
|
||||
Written by Thomas Tanner, 1998
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the
|
||||
GNU Libtool package. Report bugs to [email protected].
|
||||
|
||||
GNU Libltdl is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
As a special exception to the GNU Lesser General Public License,
|
||||
if you distribute this file as part of a program or library that
|
||||
is built using GNU Libtool, you may include this file under the
|
||||
same distribution terms that you use for the rest of that program.
|
||||
|
||||
GNU Libltdl 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 Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with GNU Libltdl; see the file COPYING.LIB. If not, a
|
||||
copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
|
||||
or obtained by writing to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
/* Only include this header file once. */
|
||||
#if !defined(LTDL_H)
|
||||
#define LTDL_H 1
|
||||
|
||||
#include <libltdl/lt_system.h>
|
||||
#include <libltdl/lt_error.h>
|
||||
#include <libltdl/lt_dlloader.h>
|
||||
|
||||
LT_BEGIN_C_DECLS
|
||||
|
||||
|
||||
/* LT_STRLEN can be used safely on NULL pointers. */
|
||||
#define LT_STRLEN(s) (((s) && (s)[0]) ? strlen (s) : 0)
|
||||
|
||||
|
||||
/* --- DYNAMIC MODULE LOADING API --- */
|
||||
|
||||
|
||||
typedef struct lt__handle *lt_dlhandle; /* A loaded module. */
|
||||
|
||||
/* Initialisation and finalisation functions for libltdl. */
|
||||
LT_SCOPE int lt_dlinit (void);
|
||||
LT_SCOPE int lt_dlexit (void);
|
||||
|
||||
/* Module search path manipulation. */
|
||||
LT_SCOPE int lt_dladdsearchdir (const char *search_dir);
|
||||
LT_SCOPE int lt_dlinsertsearchdir (const char *before,
|
||||
const char *search_dir);
|
||||
LT_SCOPE int lt_dlsetsearchpath (const char *search_path);
|
||||
LT_SCOPE const char *lt_dlgetsearchpath (void);
|
||||
LT_SCOPE int lt_dlforeachfile (
|
||||
const char *search_path,
|
||||
int (*func) (const char *filename, void *data),
|
||||
void *data);
|
||||
|
||||
/* User module loading advisors. */
|
||||
LT_SCOPE int lt_dladvise_init (lt_dladvise *advise);
|
||||
LT_SCOPE int lt_dladvise_destroy (lt_dladvise *advise);
|
||||
LT_SCOPE int lt_dladvise_ext (lt_dladvise *advise);
|
||||
LT_SCOPE int lt_dladvise_resident (lt_dladvise *advise);
|
||||
LT_SCOPE int lt_dladvise_local (lt_dladvise *advise);
|
||||
LT_SCOPE int lt_dladvise_global (lt_dladvise *advise);
|
||||
LT_SCOPE int lt_dladvise_preload (lt_dladvise *advise);
|
||||
|
||||
/* Portable libltdl versions of the system dlopen() API. */
|
||||
LT_SCOPE lt_dlhandle lt_dlopen (const char *filename);
|
||||
LT_SCOPE lt_dlhandle lt_dlopenext (const char *filename);
|
||||
LT_SCOPE lt_dlhandle lt_dlopenadvise (const char *filename,
|
||||
lt_dladvise advise);
|
||||
LT_SCOPE void * lt_dlsym (lt_dlhandle handle, const char *name);
|
||||
LT_SCOPE const char *lt_dlerror (void);
|
||||
LT_SCOPE int lt_dlclose (lt_dlhandle handle);
|
||||
|
||||
|
||||
|
||||
/* --- PRELOADED MODULE SUPPORT --- */
|
||||
|
||||
|
||||
/* A preopened symbol. Arrays of this type comprise the exported
|
||||
symbols for a dlpreopened module. */
|
||||
typedef struct {
|
||||
const char *name;
|
||||
void *address;
|
||||
} lt_dlsymlist;
|
||||
|
||||
typedef int lt_dlpreload_callback_func (lt_dlhandle handle);
|
||||
|
||||
LT_SCOPE int lt_dlpreload (const lt_dlsymlist *preloaded);
|
||||
LT_SCOPE int lt_dlpreload_default (const lt_dlsymlist *preloaded);
|
||||
LT_SCOPE int lt_dlpreload_open (const char *originator,
|
||||
lt_dlpreload_callback_func *func);
|
||||
|
||||
#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols
|
||||
/* Ensure C linkage. */
|
||||
extern LT_DLSYM_CONST lt_dlsymlist lt__PROGRAM__LTX_preloaded_symbols[];
|
||||
|
||||
#define LTDL_SET_PRELOADED_SYMBOLS() \
|
||||
lt_dlpreload_default(lt_preloaded_symbols)
|
||||
|
||||
|
||||
|
||||
|
||||
/* --- MODULE INFORMATION --- */
|
||||
|
||||
|
||||
/* Associating user data with loaded modules. */
|
||||
typedef void * lt_dlinterface_id;
|
||||
typedef int lt_dlhandle_interface (lt_dlhandle handle, const char *id_string);
|
||||
|
||||
LT_SCOPE lt_dlinterface_id lt_dlinterface_register (const char *id_string,
|
||||
lt_dlhandle_interface *iface);
|
||||
LT_SCOPE void lt_dlinterface_free (lt_dlinterface_id key);
|
||||
LT_SCOPE void * lt_dlcaller_set_data (lt_dlinterface_id key,
|
||||
lt_dlhandle handle, void *data);
|
||||
LT_SCOPE void * lt_dlcaller_get_data (lt_dlinterface_id key,
|
||||
lt_dlhandle handle);
|
||||
|
||||
|
||||
/* Read only information pertaining to a loaded module. */
|
||||
typedef struct {
|
||||
char * filename; /* file name */
|
||||
char * name; /* module name */
|
||||
int ref_count; /* number of times lt_dlopened minus
|
||||
number of times lt_dlclosed. */
|
||||
unsigned int is_resident:1; /* module can't be unloaded. */
|
||||
unsigned int is_symglobal:1; /* module symbols can satisfy
|
||||
subsequently loaded modules. */
|
||||
unsigned int is_symlocal:1; /* module symbols are only available
|
||||
locally. */
|
||||
} lt_dlinfo;
|
||||
|
||||
LT_SCOPE const lt_dlinfo *lt_dlgetinfo (lt_dlhandle handle);
|
||||
|
||||
LT_SCOPE lt_dlhandle lt_dlhandle_iterate (lt_dlinterface_id iface,
|
||||
lt_dlhandle place);
|
||||
LT_SCOPE lt_dlhandle lt_dlhandle_fetch (lt_dlinterface_id iface,
|
||||
const char *module_name);
|
||||
LT_SCOPE int lt_dlhandle_map (lt_dlinterface_id iface,
|
||||
int (*func) (lt_dlhandle handle, void *data),
|
||||
void *data);
|
||||
|
||||
|
||||
|
||||
/* Deprecated module residency management API. */
|
||||
LT_SCOPE int lt_dlmakeresident (lt_dlhandle handle);
|
||||
LT_SCOPE int lt_dlisresident (lt_dlhandle handle);
|
||||
|
||||
#define lt_ptr void *
|
||||
|
||||
LT_END_C_DECLS
|
||||
|
||||
#endif /*!defined(LTDL_H)*/
|
||||
-37
@@ -1,37 +0,0 @@
|
||||
## -*- Autoconf -*-
|
||||
## Generated from amversion.in; do not edit by hand.
|
||||
# Copyright (C) 2002-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# AM_AUTOMAKE_VERSION(VERSION)
|
||||
# ----------------------------
|
||||
# Automake X.Y traces this macro to ensure aclocal.m4 has been
|
||||
# generated from the m4 files accompanying Automake X.Y.
|
||||
# (This private macro should not be called outside this file.)
|
||||
AC_DEFUN([AM_AUTOMAKE_VERSION],
|
||||
[am__api_version='1.14'
|
||||
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
||||
dnl require some minimum version. Point them to the right macro.
|
||||
m4_if([$1], [1.14.1], [],
|
||||
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
||||
])
|
||||
|
||||
# _AM_AUTOCONF_VERSION(VERSION)
|
||||
# -----------------------------
|
||||
# aclocal traces this macro to find the Autoconf version.
|
||||
# This is a private macro too. Using m4_define simplifies
|
||||
# the logic in aclocal, which can simply ignore this definition.
|
||||
m4_define([_AM_AUTOCONF_VERSION], [])
|
||||
|
||||
# AM_SET_CURRENT_AUTOMAKE_VERSION
|
||||
# -------------------------------
|
||||
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
||||
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||
[AM_AUTOMAKE_VERSION([1.14.1])dnl
|
||||
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
||||
@@ -1,60 +0,0 @@
|
||||
## -*- Autoconf -*-
|
||||
# Copyright (C) 2011-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# AM_PROG_AR([ACT-IF-FAIL])
|
||||
# -------------------------
|
||||
# Try to determine the archiver interface, and trigger the ar-lib wrapper
|
||||
# if it is needed. If the detection of archiver interface fails, run
|
||||
# ACT-IF-FAIL (default is to abort configure with a proper error message).
|
||||
AC_DEFUN([AM_PROG_AR],
|
||||
[AC_BEFORE([$0], [LT_INIT])dnl
|
||||
AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl
|
||||
AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||
AC_REQUIRE_AUX_FILE([ar-lib])dnl
|
||||
AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false])
|
||||
: ${AR=ar}
|
||||
|
||||
AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface],
|
||||
[AC_LANG_PUSH([C])
|
||||
am_cv_ar_interface=ar
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])],
|
||||
[am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
|
||||
AC_TRY_EVAL([am_ar_try])
|
||||
if test "$ac_status" -eq 0; then
|
||||
am_cv_ar_interface=ar
|
||||
else
|
||||
am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
|
||||
AC_TRY_EVAL([am_ar_try])
|
||||
if test "$ac_status" -eq 0; then
|
||||
am_cv_ar_interface=lib
|
||||
else
|
||||
am_cv_ar_interface=unknown
|
||||
fi
|
||||
fi
|
||||
rm -f conftest.lib libconftest.a
|
||||
])
|
||||
AC_LANG_POP([C])])
|
||||
|
||||
case $am_cv_ar_interface in
|
||||
ar)
|
||||
;;
|
||||
lib)
|
||||
# Microsoft lib, so override with the ar-lib wrapper script.
|
||||
# FIXME: It is wrong to rewrite AR.
|
||||
# But if we don't then we get into trouble of one sort or another.
|
||||
# A longer-term fix would be to have automake use am__AR in this case,
|
||||
# and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
|
||||
# similar.
|
||||
AR="$am_aux_dir/ar-lib $AR"
|
||||
;;
|
||||
unknown)
|
||||
m4_default([$1],
|
||||
[AC_MSG_ERROR([could not determine $AR interface])])
|
||||
;;
|
||||
esac
|
||||
AC_SUBST([AR])dnl
|
||||
])
|
||||
@@ -1,19 +0,0 @@
|
||||
# Figure out how to run the assembler. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# AM_PROG_AS
|
||||
# ----------
|
||||
AC_DEFUN([AM_PROG_AS],
|
||||
[# By default we simply use the C compiler to build assembly code.
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
test "${CCAS+set}" = set || CCAS=$CC
|
||||
test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
|
||||
AC_ARG_VAR([CCAS], [assembler compiler command (defaults to CC)])
|
||||
AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)])
|
||||
_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl
|
||||
])
|
||||
@@ -1,52 +0,0 @@
|
||||
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
|
||||
# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
|
||||
# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
|
||||
#
|
||||
# Of course, Automake must honor this variable whenever it calls a
|
||||
# tool from the auxiliary directory. The problem is that $srcdir (and
|
||||
# therefore $ac_aux_dir as well) can be either absolute or relative,
|
||||
# depending on how configure is run. This is pretty annoying, since
|
||||
# it makes $ac_aux_dir quite unusable in subdirectories: in the top
|
||||
# source directory, any form will work fine, but in subdirectories a
|
||||
# relative path needs to be adjusted first.
|
||||
#
|
||||
# $ac_aux_dir/missing
|
||||
# fails when called from a subdirectory if $ac_aux_dir is relative
|
||||
# $top_srcdir/$ac_aux_dir/missing
|
||||
# fails if $ac_aux_dir is absolute,
|
||||
# fails when called from a subdirectory in a VPATH build with
|
||||
# a relative $ac_aux_dir
|
||||
#
|
||||
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
|
||||
# are both prefixed by $srcdir. In an in-source build this is usually
|
||||
# harmless because $srcdir is '.', but things will broke when you
|
||||
# start a VPATH build or use an absolute $srcdir.
|
||||
#
|
||||
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
|
||||
# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
|
||||
# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
|
||||
# and then we would define $MISSING as
|
||||
# MISSING="\${SHELL} $am_aux_dir/missing"
|
||||
# This will work as long as MISSING is not called from configure, because
|
||||
# unfortunately $(top_srcdir) has no meaning in configure.
|
||||
# However there are other variables, like CC, which are often used in
|
||||
# configure, and could therefore not use this "fixed" $ac_aux_dir.
|
||||
#
|
||||
# Another solution, used here, is to always expand $ac_aux_dir to an
|
||||
# absolute PATH. The drawback is that using absolute paths prevent a
|
||||
# configured tree to be moved without reconfiguration.
|
||||
|
||||
AC_DEFUN([AM_AUX_DIR_EXPAND],
|
||||
[dnl Rely on autoconf to set up CDPATH properly.
|
||||
AC_PREREQ([2.50])dnl
|
||||
# expand $ac_aux_dir to an absolute path
|
||||
am_aux_dir=`cd $ac_aux_dir && pwd`
|
||||
])
|
||||
@@ -1,36 +0,0 @@
|
||||
# AM_COND_IF -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2008-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# _AM_COND_IF
|
||||
# _AM_COND_ELSE
|
||||
# _AM_COND_ENDIF
|
||||
# --------------
|
||||
# These macros are only used for tracing.
|
||||
m4_define([_AM_COND_IF])
|
||||
m4_define([_AM_COND_ELSE])
|
||||
m4_define([_AM_COND_ENDIF])
|
||||
|
||||
# AM_COND_IF(COND, [IF-TRUE], [IF-FALSE])
|
||||
# ---------------------------------------
|
||||
# If the shell condition COND is true, execute IF-TRUE, otherwise execute
|
||||
# IF-FALSE. Allow automake to learn about conditional instantiating macros
|
||||
# (the AC_CONFIG_FOOS).
|
||||
AC_DEFUN([AM_COND_IF],
|
||||
[m4_ifndef([_AM_COND_VALUE_$1],
|
||||
[m4_fatal([$0: no such condition "$1"])])dnl
|
||||
_AM_COND_IF([$1])dnl
|
||||
if test -z "$$1_TRUE"; then :
|
||||
m4_n([$2])[]dnl
|
||||
m4_ifval([$3],
|
||||
[_AM_COND_ELSE([$1])dnl
|
||||
else
|
||||
$3
|
||||
])dnl
|
||||
_AM_COND_ENDIF([$1])dnl
|
||||
fi[]dnl
|
||||
])
|
||||
@@ -1,32 +0,0 @@
|
||||
# AM_CONDITIONAL -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
|
||||
# -------------------------------------
|
||||
# Define a conditional.
|
||||
AC_DEFUN([AM_CONDITIONAL],
|
||||
[AC_PREREQ([2.52])dnl
|
||||
m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
|
||||
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
|
||||
AC_SUBST([$1_TRUE])dnl
|
||||
AC_SUBST([$1_FALSE])dnl
|
||||
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
|
||||
_AM_SUBST_NOTMAKE([$1_FALSE])dnl
|
||||
m4_define([_AM_COND_VALUE_$1], [$2])dnl
|
||||
if $2; then
|
||||
$1_TRUE=
|
||||
$1_FALSE='#'
|
||||
else
|
||||
$1_TRUE='#'
|
||||
$1_FALSE=
|
||||
fi
|
||||
AC_CONFIG_COMMANDS_PRE(
|
||||
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
|
||||
AC_MSG_ERROR([[conditional "$1" was never defined.
|
||||
Usually this means the macro was only invoked conditionally.]])
|
||||
fi])])
|
||||
@@ -1,189 +0,0 @@
|
||||
## -*- Autoconf -*-
|
||||
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
|
||||
# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
|
||||
# written in clear, in which case automake, when reading aclocal.m4,
|
||||
# will think it sees a *use*, and therefore will trigger all it's
|
||||
# C support machinery. Also note that it means that autoscan, seeing
|
||||
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
|
||||
|
||||
|
||||
# _AM_DEPENDENCIES(NAME)
|
||||
# ----------------------
|
||||
# See how the compiler implements dependency checking.
|
||||
# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
|
||||
# We try a few techniques and use that to set a single cache variable.
|
||||
#
|
||||
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
|
||||
# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
|
||||
# dependency, and given that the user is not expected to run this macro,
|
||||
# just rely on AC_PROG_CC.
|
||||
AC_DEFUN([_AM_DEPENDENCIES],
|
||||
[AC_REQUIRE([AM_SET_DEPDIR])dnl
|
||||
AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
|
||||
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
|
||||
AC_REQUIRE([AM_DEP_TRACK])dnl
|
||||
|
||||
m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
|
||||
[$1], [CXX], [depcc="$CXX" am_compiler_list=],
|
||||
[$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
|
||||
[$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
|
||||
[$1], [UPC], [depcc="$UPC" am_compiler_list=],
|
||||
[$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
|
||||
[depcc="$$1" am_compiler_list=])
|
||||
|
||||
AC_CACHE_CHECK([dependency style of $depcc],
|
||||
[am_cv_$1_dependencies_compiler_type],
|
||||
[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
|
||||
# We make a subdir and do the tests there. Otherwise we can end up
|
||||
# making bogus files that we don't know about and never remove. For
|
||||
# instance it was reported that on HP-UX the gcc test will end up
|
||||
# making a dummy file named 'D' -- because '-MD' means "put the output
|
||||
# in D".
|
||||
rm -rf conftest.dir
|
||||
mkdir conftest.dir
|
||||
# Copy depcomp to subdir because otherwise we won't find it if we're
|
||||
# using a relative directory.
|
||||
cp "$am_depcomp" conftest.dir
|
||||
cd conftest.dir
|
||||
# We will build objects and dependencies in a subdirectory because
|
||||
# it helps to detect inapplicable dependency modes. For instance
|
||||
# both Tru64's cc and ICC support -MD to output dependencies as a
|
||||
# side effect of compilation, but ICC will put the dependencies in
|
||||
# the current directory while Tru64 will put them in the object
|
||||
# directory.
|
||||
mkdir sub
|
||||
|
||||
am_cv_$1_dependencies_compiler_type=none
|
||||
if test "$am_compiler_list" = ""; then
|
||||
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
|
||||
fi
|
||||
am__universal=false
|
||||
m4_case([$1], [CC],
|
||||
[case " $depcc " in #(
|
||||
*\ -arch\ *\ -arch\ *) am__universal=true ;;
|
||||
esac],
|
||||
[CXX],
|
||||
[case " $depcc " in #(
|
||||
*\ -arch\ *\ -arch\ *) am__universal=true ;;
|
||||
esac])
|
||||
|
||||
for depmode in $am_compiler_list; do
|
||||
# Setup a source with many dependencies, because some compilers
|
||||
# like to wrap large dependency lists on column 80 (with \), and
|
||||
# we should not choose a depcomp mode which is confused by this.
|
||||
#
|
||||
# We need to recreate these files for each test, as the compiler may
|
||||
# overwrite some of them when testing with obscure command lines.
|
||||
# This happens at least with the AIX C compiler.
|
||||
: > sub/conftest.c
|
||||
for i in 1 2 3 4 5 6; do
|
||||
echo '#include "conftst'$i'.h"' >> sub/conftest.c
|
||||
# Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
|
||||
# Solaris 10 /bin/sh.
|
||||
echo '/* dummy */' > sub/conftst$i.h
|
||||
done
|
||||
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
|
||||
|
||||
# We check with '-c' and '-o' for the sake of the "dashmstdout"
|
||||
# mode. It turns out that the SunPro C++ compiler does not properly
|
||||
# handle '-M -o', and we need to detect this. Also, some Intel
|
||||
# versions had trouble with output in subdirs.
|
||||
am__obj=sub/conftest.${OBJEXT-o}
|
||||
am__minus_obj="-o $am__obj"
|
||||
case $depmode in
|
||||
gcc)
|
||||
# This depmode causes a compiler race in universal mode.
|
||||
test "$am__universal" = false || continue
|
||||
;;
|
||||
nosideeffect)
|
||||
# After this tag, mechanisms are not by side-effect, so they'll
|
||||
# only be used when explicitly requested.
|
||||
if test "x$enable_dependency_tracking" = xyes; then
|
||||
continue
|
||||
else
|
||||
break
|
||||
fi
|
||||
;;
|
||||
msvc7 | msvc7msys | msvisualcpp | msvcmsys)
|
||||
# This compiler won't grok '-c -o', but also, the minuso test has
|
||||
# not run yet. These depmodes are late enough in the game, and
|
||||
# so weak that their functioning should not be impacted.
|
||||
am__obj=conftest.${OBJEXT-o}
|
||||
am__minus_obj=
|
||||
;;
|
||||
none) break ;;
|
||||
esac
|
||||
if depmode=$depmode \
|
||||
source=sub/conftest.c object=$am__obj \
|
||||
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
|
||||
$SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
|
||||
>/dev/null 2>conftest.err &&
|
||||
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
|
||||
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
|
||||
grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
|
||||
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
|
||||
# icc doesn't choke on unknown options, it will just issue warnings
|
||||
# or remarks (even with -Werror). So we grep stderr for any message
|
||||
# that says an option was ignored or not supported.
|
||||
# When given -MP, icc 7.0 and 7.1 complain thusly:
|
||||
# icc: Command line warning: ignoring option '-M'; no argument required
|
||||
# The diagnosis changed in icc 8.0:
|
||||
# icc: Command line remark: option '-MP' not supported
|
||||
if (grep 'ignoring option' conftest.err ||
|
||||
grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
|
||||
am_cv_$1_dependencies_compiler_type=$depmode
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
cd ..
|
||||
rm -rf conftest.dir
|
||||
else
|
||||
am_cv_$1_dependencies_compiler_type=none
|
||||
fi
|
||||
])
|
||||
AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
|
||||
AM_CONDITIONAL([am__fastdep$1], [
|
||||
test "x$enable_dependency_tracking" != xno \
|
||||
&& test "$am_cv_$1_dependencies_compiler_type" = gcc3])
|
||||
])
|
||||
|
||||
|
||||
# AM_SET_DEPDIR
|
||||
# -------------
|
||||
# Choose a directory name for dependency files.
|
||||
# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
|
||||
AC_DEFUN([AM_SET_DEPDIR],
|
||||
[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
|
||||
AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
|
||||
])
|
||||
|
||||
|
||||
# AM_DEP_TRACK
|
||||
# ------------
|
||||
AC_DEFUN([AM_DEP_TRACK],
|
||||
[AC_ARG_ENABLE([dependency-tracking], [dnl
|
||||
AS_HELP_STRING(
|
||||
[--enable-dependency-tracking],
|
||||
[do not reject slow dependency extractors])
|
||||
AS_HELP_STRING(
|
||||
[--disable-dependency-tracking],
|
||||
[speeds up one-time build])])
|
||||
if test "x$enable_dependency_tracking" != xno; then
|
||||
am_depcomp="$ac_aux_dir/depcomp"
|
||||
AMDEPBACKSLASH='\'
|
||||
am__nodep='_no'
|
||||
fi
|
||||
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
|
||||
AC_SUBST([AMDEPBACKSLASH])dnl
|
||||
_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
|
||||
AC_SUBST([am__nodep])dnl
|
||||
_AM_SUBST_NOTMAKE([am__nodep])dnl
|
||||
])
|
||||
@@ -1,75 +0,0 @@
|
||||
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
|
||||
# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||
# ------------------------------
|
||||
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
[{
|
||||
# Older Autoconf quotes --file arguments for eval, but not when files
|
||||
# are listed without --file. Let's play safe and only enable the eval
|
||||
# if we detect the quoting.
|
||||
case $CONFIG_FILES in
|
||||
*\'*) eval set x "$CONFIG_FILES" ;;
|
||||
*) set x $CONFIG_FILES ;;
|
||||
esac
|
||||
shift
|
||||
for mf
|
||||
do
|
||||
# Strip MF so we end up with the name of the file.
|
||||
mf=`echo "$mf" | sed -e 's/:.*$//'`
|
||||
# Check whether this is an Automake generated Makefile or not.
|
||||
# We used to match only the files named 'Makefile.in', but
|
||||
# some people rename them; so instead we look at the file content.
|
||||
# Grep'ing the first line is not enough: some people post-process
|
||||
# each Makefile.in and add a new line on top of each file to say so.
|
||||
# Grep'ing the whole file is not good either: AIX grep has a line
|
||||
# limit of 2048, but all sed's we know have understand at least 4000.
|
||||
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
|
||||
dirpart=`AS_DIRNAME("$mf")`
|
||||
else
|
||||
continue
|
||||
fi
|
||||
# Extract the definition of DEPDIR, am__include, and am__quote
|
||||
# from the Makefile without running 'make'.
|
||||
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
||||
test -z "$DEPDIR" && continue
|
||||
am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
||||
test -z "$am__include" && continue
|
||||
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
||||
# Find all dependency output files, they are included files with
|
||||
# $(DEPDIR) in their names. We invoke sed twice because it is the
|
||||
# simplest approach to changing $(DEPDIR) to its actual value in the
|
||||
# expansion.
|
||||
for file in `sed -n "
|
||||
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
|
||||
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
|
||||
# Make sure the directory exists.
|
||||
test -f "$dirpart/$file" && continue
|
||||
fdir=`AS_DIRNAME(["$file"])`
|
||||
AS_MKDIR_P([$dirpart/$fdir])
|
||||
# echo "creating $dirpart/$file"
|
||||
echo '# dummy' > "$dirpart/$file"
|
||||
done
|
||||
done
|
||||
}
|
||||
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||
|
||||
|
||||
# AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||
# -----------------------------
|
||||
# This macro should only be invoked once -- use via AC_REQUIRE.
|
||||
#
|
||||
# This code is only required when automatic dependency tracking
|
||||
# is enabled. FIXME. This creates each '.P' file that we will
|
||||
# need in order to bootstrap the dependency handling code.
|
||||
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
[AC_CONFIG_COMMANDS([depfiles],
|
||||
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
|
||||
])
|
||||
@@ -1,26 +0,0 @@
|
||||
## ----------------------------------- ## -*- Autoconf -*-
|
||||
## Check if --with-dmalloc was given. ##
|
||||
## From Franc,ois Pinard ##
|
||||
## ----------------------------------- ##
|
||||
|
||||
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
AC_DEFUN([AM_WITH_DMALLOC],
|
||||
[AC_MSG_CHECKING([if malloc debugging is wanted])
|
||||
AC_ARG_WITH([dmalloc],
|
||||
[AS_HELP_STRING([--with-dmalloc],
|
||||
[use dmalloc, as in http://www.dmalloc.com])],
|
||||
[if test "$withval" = yes; then
|
||||
AC_MSG_RESULT([yes])
|
||||
AC_DEFINE([WITH_DMALLOC], [1],
|
||||
[Define if using the dmalloc debugging malloc package])
|
||||
LIBS="$LIBS -ldmalloc"
|
||||
LDFLAGS="$LDFLAGS -g"
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi], [AC_MSG_RESULT([no])])
|
||||
])
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
# AM_EXTRA_RECURSIVE_TARGETS -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2012-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# AM_EXTRA_RECURSIVE_TARGETS
|
||||
# --------------------------
|
||||
# Define the list of user recursive targets. This macro exists only to
|
||||
# be traced by Automake, which will ensure that a proper definition of
|
||||
# user-defined recursive targets (and associated rules) is propagated
|
||||
# into all the generated Makefiles.
|
||||
# TODO: We should really reject non-literal arguments here...
|
||||
AC_DEFUN([AM_EXTRA_RECURSIVE_TARGETS], [])
|
||||
@@ -1,18 +0,0 @@
|
||||
# Check for Java compiler. -*- Autoconf -*-
|
||||
# For now we only handle the GNU compiler.
|
||||
|
||||
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
AC_DEFUN([AM_PROG_GCJ],
|
||||
[AC_CHECK_TOOLS([GCJ], [gcj], [gcj])
|
||||
test -z "$GCJ" && AC_MSG_ERROR([no acceptable gcj found in \$PATH])
|
||||
if test "x${GCJFLAGS-unset}" = xunset; then
|
||||
GCJFLAGS="-g -O2"
|
||||
fi
|
||||
AC_SUBST([GCJFLAGS])
|
||||
_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES(GCJ)])
|
||||
])
|
||||
@@ -1,194 +0,0 @@
|
||||
# Do all the work for Automake. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This macro actually does too much. Some checks are only needed if
|
||||
# your package does certain things. But this isn't really a big deal.
|
||||
|
||||
dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
|
||||
m4_define([AC_PROG_CC],
|
||||
m4_defn([AC_PROG_CC])
|
||||
[_AM_PROG_CC_C_O
|
||||
])
|
||||
|
||||
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
|
||||
# AM_INIT_AUTOMAKE([OPTIONS])
|
||||
# -----------------------------------------------
|
||||
# The call with PACKAGE and VERSION arguments is the old style
|
||||
# call (pre autoconf-2.50), which is being phased out. PACKAGE
|
||||
# and VERSION should now be passed to AC_INIT and removed from
|
||||
# the call to AM_INIT_AUTOMAKE.
|
||||
# We support both call styles for the transition. After
|
||||
# the next Automake release, Autoconf can make the AC_INIT
|
||||
# arguments mandatory, and then we can depend on a new Autoconf
|
||||
# release and drop the old call support.
|
||||
AC_DEFUN([AM_INIT_AUTOMAKE],
|
||||
[AC_PREREQ([2.65])dnl
|
||||
dnl Autoconf wants to disallow AM_ names. We explicitly allow
|
||||
dnl the ones we care about.
|
||||
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
|
||||
AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
|
||||
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||
if test "`cd $srcdir && pwd`" != "`pwd`"; then
|
||||
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
|
||||
# is not polluted with repeated "-I."
|
||||
AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
|
||||
# test to see if srcdir already configured
|
||||
if test -f $srcdir/config.status; then
|
||||
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
||||
fi
|
||||
fi
|
||||
|
||||
# test whether we have cygpath
|
||||
if test -z "$CYGPATH_W"; then
|
||||
if (cygpath --version) >/dev/null 2>/dev/null; then
|
||||
CYGPATH_W='cygpath -w'
|
||||
else
|
||||
CYGPATH_W=echo
|
||||
fi
|
||||
fi
|
||||
AC_SUBST([CYGPATH_W])
|
||||
|
||||
# Define the identity of the package.
|
||||
dnl Distinguish between old-style and new-style calls.
|
||||
m4_ifval([$2],
|
||||
[AC_DIAGNOSE([obsolete],
|
||||
[$0: two- and three-arguments forms are deprecated.])
|
||||
m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
|
||||
AC_SUBST([PACKAGE], [$1])dnl
|
||||
AC_SUBST([VERSION], [$2])],
|
||||
[_AM_SET_OPTIONS([$1])dnl
|
||||
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
|
||||
m4_if(
|
||||
m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
|
||||
[ok:ok],,
|
||||
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
|
||||
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
|
||||
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
|
||||
|
||||
_AM_IF_OPTION([no-define],,
|
||||
[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
|
||||
AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
|
||||
|
||||
# Some tools Automake needs.
|
||||
AC_REQUIRE([AM_SANITY_CHECK])dnl
|
||||
AC_REQUIRE([AC_ARG_PROGRAM])dnl
|
||||
AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
|
||||
AM_MISSING_PROG([AUTOCONF], [autoconf])
|
||||
AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
|
||||
AM_MISSING_PROG([AUTOHEADER], [autoheader])
|
||||
AM_MISSING_PROG([MAKEINFO], [makeinfo])
|
||||
AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
|
||||
AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
|
||||
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
|
||||
# For better backward compatibility. To be removed once Automake 1.9.x
|
||||
# dies out for good. For more background, see:
|
||||
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
||||
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
||||
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
|
||||
# We need awk for the "check" target. The system "awk" is bad on
|
||||
# some platforms.
|
||||
AC_REQUIRE([AC_PROG_AWK])dnl
|
||||
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
||||
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
|
||||
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
|
||||
[_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
|
||||
[_AM_PROG_TAR([v7])])])
|
||||
_AM_IF_OPTION([no-dependencies],,
|
||||
[AC_PROVIDE_IFELSE([AC_PROG_CC],
|
||||
[_AM_DEPENDENCIES([CC])],
|
||||
[m4_define([AC_PROG_CC],
|
||||
m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
|
||||
AC_PROVIDE_IFELSE([AC_PROG_CXX],
|
||||
[_AM_DEPENDENCIES([CXX])],
|
||||
[m4_define([AC_PROG_CXX],
|
||||
m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
|
||||
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
|
||||
[_AM_DEPENDENCIES([OBJC])],
|
||||
[m4_define([AC_PROG_OBJC],
|
||||
m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
|
||||
AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
|
||||
[_AM_DEPENDENCIES([OBJCXX])],
|
||||
[m4_define([AC_PROG_OBJCXX],
|
||||
m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
|
||||
])
|
||||
AC_REQUIRE([AM_SILENT_RULES])dnl
|
||||
dnl The testsuite driver may need to know about EXEEXT, so add the
|
||||
dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
|
||||
dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
|
||||
AC_CONFIG_COMMANDS_PRE(dnl
|
||||
[m4_provide_if([_AM_COMPILER_EXEEXT],
|
||||
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
|
||||
|
||||
# POSIX will say in a future version that running "rm -f" with no argument
|
||||
# is OK; and we want to be able to make that assumption in our Makefile
|
||||
# recipes. So use an aggressive probe to check that the usage we want is
|
||||
# actually supported "in the wild" to an acceptable degree.
|
||||
# See automake bug#10828.
|
||||
# To make any issue more visible, cause the running configure to be aborted
|
||||
# by default if the 'rm' program in use doesn't match our expectations; the
|
||||
# user can still override this though.
|
||||
if rm -f && rm -fr && rm -rf; then : OK; else
|
||||
cat >&2 <<'END'
|
||||
Oops!
|
||||
|
||||
Your 'rm' program seems unable to run without file operands specified
|
||||
on the command line, even when the '-f' option is present. This is contrary
|
||||
to the behaviour of most rm programs out there, and not conforming with
|
||||
the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
|
||||
|
||||
Please tell [email protected] about your system, including the value
|
||||
of your $PATH and any error possibly output before this message. This
|
||||
can help us improve future automake versions.
|
||||
|
||||
END
|
||||
if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
|
||||
echo 'Configuration will proceed anyway, since you have set the' >&2
|
||||
echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
|
||||
echo >&2
|
||||
else
|
||||
cat >&2 <<'END'
|
||||
Aborting the configuration process, to ensure you take notice of the issue.
|
||||
|
||||
You can download and install GNU coreutils to get an 'rm' implementation
|
||||
that behaves properly: <http://www.gnu.org/software/coreutils/>.
|
||||
|
||||
If you want to complete the configuration process using your problematic
|
||||
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
|
||||
to "yes", and re-run configure.
|
||||
|
||||
END
|
||||
AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
|
||||
fi
|
||||
fi])
|
||||
|
||||
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
|
||||
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
|
||||
dnl mangled by Autoconf and run in a shell conditional statement.
|
||||
m4_define([_AC_COMPILER_EXEEXT],
|
||||
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
|
||||
|
||||
# When config.status generates a header, we must update the stamp-h file.
|
||||
# This file resides in the same directory as the config header
|
||||
# that is generated. The stamp files are numbered to have different names.
|
||||
|
||||
# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
|
||||
# loop where config.status creates the headers, so we can generate
|
||||
# our stamp files there.
|
||||
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
|
||||
[# Compute $1's index in $config_headers.
|
||||
_am_arg=$1
|
||||
_am_stamp_count=1
|
||||
for _am_header in $config_headers :; do
|
||||
case $_am_header in
|
||||
$_am_arg | $_am_arg:* )
|
||||
break ;;
|
||||
* )
|
||||
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
|
||||
esac
|
||||
done
|
||||
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
## -*- Autoconf -*-
|
||||
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# AM_PROG_INSTALL_SH
|
||||
# ------------------
|
||||
# Define $install_sh.
|
||||
AC_DEFUN([AM_PROG_INSTALL_SH],
|
||||
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||
if test x"${install_sh}" != xset; then
|
||||
case $am_aux_dir in
|
||||
*\ * | *\ *)
|
||||
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
|
||||
*)
|
||||
install_sh="\${SHELL} $am_aux_dir/install-sh"
|
||||
esac
|
||||
fi
|
||||
AC_SUBST([install_sh])])
|
||||
Vendored
-15
@@ -1,15 +0,0 @@
|
||||
# Support AC_CONFIG_MACRO_DIRS with older autoconf. -*- Autoconf -*-
|
||||
# FIXME: To be removed in Automake 2.0, once we can assume autoconf
|
||||
# 2.70 or later.
|
||||
# FIXME: keep in sync with the contents of the variable
|
||||
# '$ac_config_macro_dirs_fallback' in aclocal.in.
|
||||
|
||||
# Copyright (C) 2012-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
m4_ifndef([AC_CONFIG_MACRO_DIRS],
|
||||
[m4_defun([_AM_CONFIG_MACRO_DIRS],[])]dnl
|
||||
[m4_defun([AC_CONFIG_MACRO_DIRS],[_AM_CONFIG_MACRO_DIRS($@)])])
|
||||
@@ -1,19 +0,0 @@
|
||||
## -*- Autoconf -*-
|
||||
# Copyright (C) 2003-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# Check whether the underlying file-system supports filenames
|
||||
# with a leading dot. For instance MS-DOS doesn't.
|
||||
AC_DEFUN([AM_SET_LEADING_DOT],
|
||||
[rm -rf .tst 2>/dev/null
|
||||
mkdir .tst 2>/dev/null
|
||||
if test -d .tst; then
|
||||
am__leading_dot=.
|
||||
else
|
||||
am__leading_dot=_
|
||||
fi
|
||||
rmdir .tst 2>/dev/null
|
||||
AC_SUBST([am__leading_dot])])
|
||||
@@ -1,19 +0,0 @@
|
||||
## Replacement for AC_PROG_LEX. -*- Autoconf -*-
|
||||
## by Alexandre Oliva <[email protected]>
|
||||
# Copyright (C) 1998-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# AM_PROG_LEX
|
||||
# -----------
|
||||
# Autoconf leaves LEX=: if lex or flex can't be found. Change that to a
|
||||
# "missing" invocation, for better error output.
|
||||
AC_DEFUN([AM_PROG_LEX],
|
||||
[AC_PREREQ([2.50])dnl
|
||||
AC_REQUIRE([AM_MISSING_HAS_RUN])dnl
|
||||
AC_REQUIRE([AC_PROG_LEX])dnl
|
||||
if test "$LEX" = :; then
|
||||
LEX=${am_missing_run}flex
|
||||
fi])
|
||||
@@ -1,51 +0,0 @@
|
||||
## ------------------------ -*- Autoconf -*-
|
||||
## Emacs LISP file handling
|
||||
## From Ulrich Drepper
|
||||
## Almost entirely rewritten by Alexandre Oliva
|
||||
## ------------------------
|
||||
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# AM_PATH_LISPDIR
|
||||
# ---------------
|
||||
AC_DEFUN([AM_PATH_LISPDIR],
|
||||
[AC_PREREQ([2.60])dnl
|
||||
# If set to t, that means we are running in a shell under Emacs.
|
||||
# If you have an Emacs named "t", then use the full path.
|
||||
test x"$EMACS" = xt && EMACS=
|
||||
AC_CHECK_PROGS([EMACS], [emacs xemacs], [no])
|
||||
AC_ARG_VAR([EMACS], [the Emacs editor command])
|
||||
AC_ARG_VAR([EMACSLOADPATH], [the Emacs library search path])
|
||||
AC_ARG_WITH([lispdir],
|
||||
[AS_HELP_STRING([--with-lispdir],
|
||||
[override the default lisp directory])],
|
||||
[ lispdir="$withval"
|
||||
AC_MSG_CHECKING([where .elc files should go])
|
||||
AC_MSG_RESULT([$lispdir])],
|
||||
[
|
||||
AC_CACHE_CHECK([where .elc files should go], [am_cv_lispdir], [
|
||||
if test $EMACS != "no"; then
|
||||
if test x${lispdir+set} != xset; then
|
||||
# If $EMACS isn't GNU Emacs or XEmacs, this can blow up pretty badly
|
||||
# Some emacsen will start up in interactive mode, requiring C-x C-c to exit,
|
||||
# which is non-obvious for non-emacs users.
|
||||
# Redirecting /dev/null should help a bit; pity we can't detect "broken"
|
||||
# emacsen earlier and avoid running this altogether.
|
||||
AC_RUN_LOG([$EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' </dev/null >conftest.out])
|
||||
am_cv_lispdir=`sed -n \
|
||||
-e 's,/$,,' \
|
||||
-e '/.*\/lib\/x*emacs\/site-lisp$/{s,.*/lib/\(x*emacs/site-lisp\)$,${libdir}/\1,;p;q;}' \
|
||||
-e '/.*\/share\/x*emacs\/site-lisp$/{s,.*/share/\(x*emacs/site-lisp\),${datarootdir}/\1,;p;q;}' \
|
||||
conftest.out`
|
||||
rm conftest.out
|
||||
fi
|
||||
fi
|
||||
test -z "$am_cv_lispdir" && am_cv_lispdir='${datadir}/emacs/site-lisp'
|
||||
])
|
||||
lispdir="$am_cv_lispdir"
|
||||
])
|
||||
AC_SUBST([lispdir])
|
||||
])# AM_PATH_LISPDIR
|
||||
-35
@@ -1,35 +0,0 @@
|
||||
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
|
||||
# From Jim Meyering
|
||||
|
||||
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# AM_MAINTAINER_MODE([DEFAULT-MODE])
|
||||
# ----------------------------------
|
||||
# Control maintainer-specific portions of Makefiles.
|
||||
# Default is to disable them, unless 'enable' is passed literally.
|
||||
# For symmetry, 'disable' may be passed as well. Anyway, the user
|
||||
# can override the default with the --enable/--disable switch.
|
||||
AC_DEFUN([AM_MAINTAINER_MODE],
|
||||
[m4_case(m4_default([$1], [disable]),
|
||||
[enable], [m4_define([am_maintainer_other], [disable])],
|
||||
[disable], [m4_define([am_maintainer_other], [enable])],
|
||||
[m4_define([am_maintainer_other], [enable])
|
||||
m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
|
||||
AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
||||
dnl maintainer-mode's default is 'disable' unless 'enable' is passed
|
||||
AC_ARG_ENABLE([maintainer-mode],
|
||||
[AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
|
||||
am_maintainer_other[ make rules and dependencies not useful
|
||||
(and sometimes confusing) to the casual installer])],
|
||||
[USE_MAINTAINER_MODE=$enableval],
|
||||
[USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
|
||||
AC_MSG_RESULT([$USE_MAINTAINER_MODE])
|
||||
AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
|
||||
MAINT=$MAINTAINER_MODE_TRUE
|
||||
AC_SUBST([MAINT])dnl
|
||||
]
|
||||
)
|
||||
@@ -1,49 +0,0 @@
|
||||
# Check to see how 'make' treats includes. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# AM_MAKE_INCLUDE()
|
||||
# -----------------
|
||||
# Check to see how make treats includes.
|
||||
AC_DEFUN([AM_MAKE_INCLUDE],
|
||||
[am_make=${MAKE-make}
|
||||
cat > confinc << 'END'
|
||||
am__doit:
|
||||
@echo this is the am__doit target
|
||||
.PHONY: am__doit
|
||||
END
|
||||
# If we don't find an include directive, just comment out the code.
|
||||
AC_MSG_CHECKING([for style of include used by $am_make])
|
||||
am__include="#"
|
||||
am__quote=
|
||||
_am_result=none
|
||||
# First try GNU make style include.
|
||||
echo "include confinc" > confmf
|
||||
# Ignore all kinds of additional output from 'make'.
|
||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
||||
*the\ am__doit\ target*)
|
||||
am__include=include
|
||||
am__quote=
|
||||
_am_result=GNU
|
||||
;;
|
||||
esac
|
||||
# Now try BSD make style include.
|
||||
if test "$am__include" = "#"; then
|
||||
echo '.include "confinc"' > confmf
|
||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
||||
*the\ am__doit\ target*)
|
||||
am__include=.include
|
||||
am__quote="\""
|
||||
_am_result=BSD
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
AC_SUBST([am__include])
|
||||
AC_SUBST([am__quote])
|
||||
AC_MSG_RESULT([$_am_result])
|
||||
rm -f confinc confmf
|
||||
])
|
||||
@@ -1,38 +0,0 @@
|
||||
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# AM_MISSING_PROG(NAME, PROGRAM)
|
||||
# ------------------------------
|
||||
AC_DEFUN([AM_MISSING_PROG],
|
||||
[AC_REQUIRE([AM_MISSING_HAS_RUN])
|
||||
$1=${$1-"${am_missing_run}$2"}
|
||||
AC_SUBST($1)])
|
||||
|
||||
# AM_MISSING_HAS_RUN
|
||||
# ------------------
|
||||
# Define MISSING if not defined so far and test if it is modern enough.
|
||||
# If it is, set am_missing_run to use it, otherwise, to nothing.
|
||||
AC_DEFUN([AM_MISSING_HAS_RUN],
|
||||
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||
AC_REQUIRE_AUX_FILE([missing])dnl
|
||||
if test x"${MISSING+set}" != xset; then
|
||||
case $am_aux_dir in
|
||||
*\ * | *\ *)
|
||||
MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
|
||||
*)
|
||||
MISSING="\${SHELL} $am_aux_dir/missing" ;;
|
||||
esac
|
||||
fi
|
||||
# Use eval to expand $SHELL
|
||||
if eval "$MISSING --is-lightweight"; then
|
||||
am_missing_run="$MISSING "
|
||||
else
|
||||
am_missing_run=
|
||||
AC_MSG_WARN(['missing' script is too old or missing])
|
||||
fi
|
||||
])
|
||||
@@ -1,32 +0,0 @@
|
||||
## -*- Autoconf -*-
|
||||
# Copyright (C) 2003-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# AM_PROG_MKDIR_P
|
||||
# ---------------
|
||||
# Check for 'mkdir -p'.
|
||||
AC_DEFUN([AM_PROG_MKDIR_P],
|
||||
[AC_PREREQ([2.60])dnl
|
||||
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
|
||||
dnl FIXME we are no longer going to remove this! adjust warning
|
||||
dnl FIXME message accordingly.
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: this macro is deprecated, and will soon be removed.
|
||||
You should use the Autoconf-provided 'AC][_PROG_MKDIR_P' macro instead,
|
||||
and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.])
|
||||
dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
|
||||
dnl while keeping a definition of mkdir_p for backward compatibility.
|
||||
dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
|
||||
dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
|
||||
dnl Makefile.ins that do not define MKDIR_P, so we do our own
|
||||
dnl adjustment using top_builddir (which is defined more often than
|
||||
dnl MKDIR_P).
|
||||
AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
|
||||
case $mkdir_p in
|
||||
[[\\/$]]* | ?:[[\\/]]*) ;;
|
||||
*/*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
|
||||
esac
|
||||
])
|
||||
@@ -1,28 +0,0 @@
|
||||
# -*- Autoconf -*-
|
||||
# Obsolete and "removed" macros, that must however still report explicit
|
||||
# error messages when used, to smooth transition.
|
||||
#
|
||||
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
AC_DEFUN([AM_CONFIG_HEADER],
|
||||
[AC_DIAGNOSE([obsolete],
|
||||
['$0': this macro is obsolete.
|
||||
You should use the 'AC][_CONFIG_HEADERS' macro instead.])dnl
|
||||
AC_CONFIG_HEADERS($@)])
|
||||
|
||||
AC_DEFUN([AM_PROG_CC_STDC],
|
||||
[AC_PROG_CC
|
||||
am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
|
||||
AC_DIAGNOSE([obsolete],
|
||||
['$0': this macro is obsolete.
|
||||
You should simply use the 'AC][_PROG_CC' macro instead.
|
||||
Also, your code should no longer depend upon 'am_cv_prog_cc_stdc',
|
||||
but upon 'ac_cv_prog_cc_stdc'.])])
|
||||
|
||||
AC_DEFUN([AM_C_PROTOTYPES],
|
||||
[AC_FATAL([automatic de-ANSI-fication support has been removed])])
|
||||
AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
|
||||
@@ -1,30 +0,0 @@
|
||||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# _AM_MANGLE_OPTION(NAME)
|
||||
# -----------------------
|
||||
AC_DEFUN([_AM_MANGLE_OPTION],
|
||||
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
|
||||
|
||||
# _AM_SET_OPTION(NAME)
|
||||
# --------------------
|
||||
# Set option NAME. Presently that only means defining a flag for this option.
|
||||
AC_DEFUN([_AM_SET_OPTION],
|
||||
[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
|
||||
|
||||
# _AM_SET_OPTIONS(OPTIONS)
|
||||
# ------------------------
|
||||
# OPTIONS is a space-separated list of Automake options.
|
||||
AC_DEFUN([_AM_SET_OPTIONS],
|
||||
[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
|
||||
|
||||
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
|
||||
# -------------------------------------------
|
||||
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
|
||||
AC_DEFUN([_AM_IF_OPTION],
|
||||
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
||||
-47
@@ -1,47 +0,0 @@
|
||||
## -*- Autoconf -*-
|
||||
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# _AM_PROG_CC_C_O
|
||||
# ---------------
|
||||
# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
|
||||
# to automatically call this.
|
||||
AC_DEFUN([_AM_PROG_CC_C_O],
|
||||
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||
AC_REQUIRE_AUX_FILE([compile])dnl
|
||||
AC_LANG_PUSH([C])dnl
|
||||
AC_CACHE_CHECK(
|
||||
[whether $CC understands -c and -o together],
|
||||
[am_cv_prog_cc_c_o],
|
||||
[AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
|
||||
# Make sure it works both with $CC and with simple cc.
|
||||
# Following AC_PROG_CC_C_O, we do the test twice because some
|
||||
# compilers refuse to overwrite an existing .o file with -o,
|
||||
# though they will create one.
|
||||
am_cv_prog_cc_c_o=yes
|
||||
for am_i in 1 2; do
|
||||
if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
|
||||
&& test -f conftest2.$ac_objext; then
|
||||
: OK
|
||||
else
|
||||
am_cv_prog_cc_c_o=no
|
||||
break
|
||||
fi
|
||||
done
|
||||
rm -f core conftest*
|
||||
unset am_i])
|
||||
if test "$am_cv_prog_cc_c_o" != yes; then
|
||||
# Losing compiler, so override with the script.
|
||||
# FIXME: It is wrong to rewrite CC.
|
||||
# But if we don't then we get into trouble of one sort or another.
|
||||
# A longer-term fix would be to have automake use am__CC in this case,
|
||||
# and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
|
||||
CC="$am_aux_dir/compile $CC"
|
||||
fi
|
||||
AC_LANG_POP([C])])
|
||||
|
||||
# For backward compatibility.
|
||||
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
|
||||
@@ -1,239 +0,0 @@
|
||||
## ------------------------ -*- Autoconf -*-
|
||||
## Python file handling
|
||||
## From Andrew Dalke
|
||||
## Updated by James Henstridge
|
||||
## ------------------------
|
||||
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
|
||||
# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||
# ---------------------------------------------------------------------------
|
||||
# Adds support for distributing Python modules and packages. To
|
||||
# install modules, copy them to $(pythondir), using the python_PYTHON
|
||||
# automake variable. To install a package with the same name as the
|
||||
# automake package, install to $(pkgpythondir), or use the
|
||||
# pkgpython_PYTHON automake variable.
|
||||
#
|
||||
# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as
|
||||
# locations to install python extension modules (shared libraries).
|
||||
# Another macro is required to find the appropriate flags to compile
|
||||
# extension modules.
|
||||
#
|
||||
# If your package is configured with a different prefix to python,
|
||||
# users will have to add the install directory to the PYTHONPATH
|
||||
# environment variable, or create a .pth file (see the python
|
||||
# documentation for details).
|
||||
#
|
||||
# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will
|
||||
# cause an error if the version of python installed on the system
|
||||
# doesn't meet the requirement. MINIMUM-VERSION should consist of
|
||||
# numbers and dots only.
|
||||
AC_DEFUN([AM_PATH_PYTHON],
|
||||
[
|
||||
dnl Find a Python interpreter. Python versions prior to 2.0 are not
|
||||
dnl supported. (2.0 was released on October 16, 2000).
|
||||
m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
|
||||
[python python2 python3 python3.3 python3.2 python3.1 python3.0 python2.7 dnl
|
||||
python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0])
|
||||
|
||||
AC_ARG_VAR([PYTHON], [the Python interpreter])
|
||||
|
||||
m4_if([$1],[],[
|
||||
dnl No version check is needed.
|
||||
# Find any Python interpreter.
|
||||
if test -z "$PYTHON"; then
|
||||
AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :)
|
||||
fi
|
||||
am_display_PYTHON=python
|
||||
], [
|
||||
dnl A version check is needed.
|
||||
if test -n "$PYTHON"; then
|
||||
# If the user set $PYTHON, use it and don't search something else.
|
||||
AC_MSG_CHECKING([whether $PYTHON version is >= $1])
|
||||
AM_PYTHON_CHECK_VERSION([$PYTHON], [$1],
|
||||
[AC_MSG_RESULT([yes])],
|
||||
[AC_MSG_RESULT([no])
|
||||
AC_MSG_ERROR([Python interpreter is too old])])
|
||||
am_display_PYTHON=$PYTHON
|
||||
else
|
||||
# Otherwise, try each interpreter until we find one that satisfies
|
||||
# VERSION.
|
||||
AC_CACHE_CHECK([for a Python interpreter with version >= $1],
|
||||
[am_cv_pathless_PYTHON],[
|
||||
for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do
|
||||
test "$am_cv_pathless_PYTHON" = none && break
|
||||
AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break])
|
||||
done])
|
||||
# Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
|
||||
if test "$am_cv_pathless_PYTHON" = none; then
|
||||
PYTHON=:
|
||||
else
|
||||
AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON])
|
||||
fi
|
||||
am_display_PYTHON=$am_cv_pathless_PYTHON
|
||||
fi
|
||||
])
|
||||
|
||||
if test "$PYTHON" = :; then
|
||||
dnl Run any user-specified action, or abort.
|
||||
m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])])
|
||||
else
|
||||
|
||||
dnl Query Python for its version number. Getting [:3] seems to be
|
||||
dnl the best way to do this; it's what "site.py" does in the standard
|
||||
dnl library.
|
||||
|
||||
AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
|
||||
[am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`])
|
||||
AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
|
||||
|
||||
dnl Use the values of $prefix and $exec_prefix for the corresponding
|
||||
dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made
|
||||
dnl distinct variables so they can be overridden if need be. However,
|
||||
dnl general consensus is that you shouldn't need this ability.
|
||||
|
||||
AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
|
||||
AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
|
||||
|
||||
dnl At times (like when building shared libraries) you may want
|
||||
dnl to know which OS platform Python thinks this is.
|
||||
|
||||
AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
|
||||
[am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`])
|
||||
AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
|
||||
|
||||
# Just factor out some code duplication.
|
||||
am_python_setup_sysconfig="\
|
||||
import sys
|
||||
# Prefer sysconfig over distutils.sysconfig, for better compatibility
|
||||
# with python 3.x. See automake bug#10227.
|
||||
try:
|
||||
import sysconfig
|
||||
except ImportError:
|
||||
can_use_sysconfig = 0
|
||||
else:
|
||||
can_use_sysconfig = 1
|
||||
# Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
|
||||
# <https://github.com/pypa/virtualenv/issues/118>
|
||||
try:
|
||||
from platform import python_implementation
|
||||
if python_implementation() == 'CPython' and sys.version[[:3]] == '2.7':
|
||||
can_use_sysconfig = 0
|
||||
except ImportError:
|
||||
pass"
|
||||
|
||||
dnl Set up 4 directories:
|
||||
|
||||
dnl pythondir -- where to install python scripts. This is the
|
||||
dnl site-packages directory, not the python standard library
|
||||
dnl directory like in previous automake betas. This behavior
|
||||
dnl is more consistent with lispdir.m4 for example.
|
||||
dnl Query distutils for this directory.
|
||||
AC_CACHE_CHECK([for $am_display_PYTHON script directory],
|
||||
[am_cv_python_pythondir],
|
||||
[if test "x$prefix" = xNONE
|
||||
then
|
||||
am_py_prefix=$ac_default_prefix
|
||||
else
|
||||
am_py_prefix=$prefix
|
||||
fi
|
||||
am_cv_python_pythondir=`$PYTHON -c "
|
||||
$am_python_setup_sysconfig
|
||||
if can_use_sysconfig:
|
||||
sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
|
||||
else:
|
||||
from distutils import sysconfig
|
||||
sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
|
||||
sys.stdout.write(sitedir)"`
|
||||
case $am_cv_python_pythondir in
|
||||
$am_py_prefix*)
|
||||
am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
|
||||
am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
|
||||
;;
|
||||
*)
|
||||
case $am_py_prefix in
|
||||
/usr|/System*) ;;
|
||||
*)
|
||||
am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
])
|
||||
AC_SUBST([pythondir], [$am_cv_python_pythondir])
|
||||
|
||||
dnl pkgpythondir -- $PACKAGE directory under pythondir. Was
|
||||
dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is
|
||||
dnl more consistent with the rest of automake.
|
||||
|
||||
AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
|
||||
|
||||
dnl pyexecdir -- directory for installing python extension modules
|
||||
dnl (shared libraries)
|
||||
dnl Query distutils for this directory.
|
||||
AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
|
||||
[am_cv_python_pyexecdir],
|
||||
[if test "x$exec_prefix" = xNONE
|
||||
then
|
||||
am_py_exec_prefix=$am_py_prefix
|
||||
else
|
||||
am_py_exec_prefix=$exec_prefix
|
||||
fi
|
||||
am_cv_python_pyexecdir=`$PYTHON -c "
|
||||
$am_python_setup_sysconfig
|
||||
if can_use_sysconfig:
|
||||
sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
|
||||
else:
|
||||
from distutils import sysconfig
|
||||
sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
|
||||
sys.stdout.write(sitedir)"`
|
||||
case $am_cv_python_pyexecdir in
|
||||
$am_py_exec_prefix*)
|
||||
am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
|
||||
am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
|
||||
;;
|
||||
*)
|
||||
case $am_py_exec_prefix in
|
||||
/usr|/System*) ;;
|
||||
*)
|
||||
am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
])
|
||||
AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir])
|
||||
|
||||
dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
|
||||
|
||||
AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
|
||||
|
||||
dnl Run any user-specified action.
|
||||
$2
|
||||
fi
|
||||
|
||||
])
|
||||
|
||||
|
||||
# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
|
||||
# ---------------------------------------------------------------------------
|
||||
# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION.
|
||||
# Run ACTION-IF-FALSE otherwise.
|
||||
# This test uses sys.hexversion instead of the string equivalent (first
|
||||
# word of sys.version), in order to cope with versions such as 2.2c1.
|
||||
# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000).
|
||||
AC_DEFUN([AM_PYTHON_CHECK_VERSION],
|
||||
[prog="import sys
|
||||
# split strings by '.' and convert to numeric. Append some zeros
|
||||
# because we need at least 4 digits for the hex conversion.
|
||||
# map returns an iterator in Python 3.0 and a list in 2.x
|
||||
minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]]
|
||||
minverhex = 0
|
||||
# xrange is not present in Python 3.0 and range returns an iterator
|
||||
for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]]
|
||||
sys.exit(sys.hexversion < minverhex)"
|
||||
AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
|
||||
@@ -1,17 +0,0 @@
|
||||
## -*- Autoconf -*-
|
||||
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# AM_RUN_LOG(COMMAND)
|
||||
# -------------------
|
||||
# Run COMMAND, save the exit status in ac_status, and log it.
|
||||
# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
|
||||
AC_DEFUN([AM_RUN_LOG],
|
||||
[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
|
||||
($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
|
||||
(exit $ac_status); }])
|
||||
@@ -1,82 +0,0 @@
|
||||
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# AM_SANITY_CHECK
|
||||
# ---------------
|
||||
AC_DEFUN([AM_SANITY_CHECK],
|
||||
[AC_MSG_CHECKING([whether build environment is sane])
|
||||
# Reject unsafe characters in $srcdir or the absolute working directory
|
||||
# name. Accept space and tab only in the latter.
|
||||
am_lf='
|
||||
'
|
||||
case `pwd` in
|
||||
*[[\\\"\#\$\&\'\`$am_lf]]*)
|
||||
AC_MSG_ERROR([unsafe absolute working directory name]);;
|
||||
esac
|
||||
case $srcdir in
|
||||
*[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
|
||||
AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
|
||||
esac
|
||||
|
||||
# Do 'set' in a subshell so we don't clobber the current shell's
|
||||
# arguments. Must try -L first in case configure is actually a
|
||||
# symlink; some systems play weird games with the mod time of symlinks
|
||||
# (eg FreeBSD returns the mod time of the symlink's containing
|
||||
# directory).
|
||||
if (
|
||||
am_has_slept=no
|
||||
for am_try in 1 2; do
|
||||
echo "timestamp, slept: $am_has_slept" > conftest.file
|
||||
set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
|
||||
if test "$[*]" = "X"; then
|
||||
# -L didn't work.
|
||||
set X `ls -t "$srcdir/configure" conftest.file`
|
||||
fi
|
||||
if test "$[*]" != "X $srcdir/configure conftest.file" \
|
||||
&& test "$[*]" != "X conftest.file $srcdir/configure"; then
|
||||
|
||||
# If neither matched, then we have a broken ls. This can happen
|
||||
# if, for instance, CONFIG_SHELL is bash and it inherits a
|
||||
# broken ls alias from the environment. This has actually
|
||||
# happened. Such a system could not be considered "sane".
|
||||
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
|
||||
alias in your environment])
|
||||
fi
|
||||
if test "$[2]" = conftest.file || test $am_try -eq 2; then
|
||||
break
|
||||
fi
|
||||
# Just in case.
|
||||
sleep 1
|
||||
am_has_slept=yes
|
||||
done
|
||||
test "$[2]" = conftest.file
|
||||
)
|
||||
then
|
||||
# Ok.
|
||||
:
|
||||
else
|
||||
AC_MSG_ERROR([newly created file is older than distributed files!
|
||||
Check your system clock])
|
||||
fi
|
||||
AC_MSG_RESULT([yes])
|
||||
# If we didn't sleep, we still need to ensure time stamps of config.status and
|
||||
# generated files are strictly newer.
|
||||
am_sleep_pid=
|
||||
if grep 'slept: no' conftest.file >/dev/null 2>&1; then
|
||||
( sleep 1 ) &
|
||||
am_sleep_pid=$!
|
||||
fi
|
||||
AC_CONFIG_COMMANDS_PRE(
|
||||
[AC_MSG_CHECKING([that generated files are newer than configure])
|
||||
if test -n "$am_sleep_pid"; then
|
||||
# Hide warnings about reused PIDs.
|
||||
wait $am_sleep_pid 2>/dev/null
|
||||
fi
|
||||
AC_MSG_RESULT([done])])
|
||||
rm -f conftest.file
|
||||
])
|
||||
@@ -1,60 +0,0 @@
|
||||
## -*- Autoconf -*-
|
||||
# Copyright (C) 2009-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# AM_SILENT_RULES([DEFAULT])
|
||||
# --------------------------
|
||||
# Enable less verbose build rules; with the default set to DEFAULT
|
||||
# ("yes" being less verbose, "no" or empty being verbose).
|
||||
AC_DEFUN([AM_SILENT_RULES],
|
||||
[AC_ARG_ENABLE([silent-rules], [dnl
|
||||
AS_HELP_STRING(
|
||||
[--enable-silent-rules],
|
||||
[less verbose build output (undo: "make V=1")])
|
||||
AS_HELP_STRING(
|
||||
[--disable-silent-rules],
|
||||
[verbose build output (undo: "make V=0")])dnl
|
||||
])
|
||||
case $enable_silent_rules in @%:@ (((
|
||||
yes) AM_DEFAULT_VERBOSITY=0;;
|
||||
no) AM_DEFAULT_VERBOSITY=1;;
|
||||
*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
|
||||
esac
|
||||
dnl
|
||||
dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
|
||||
dnl do not support nested variable expansions.
|
||||
dnl See automake bug#9928 and bug#10237.
|
||||
am_make=${MAKE-make}
|
||||
AC_CACHE_CHECK([whether $am_make supports nested variables],
|
||||
[am_cv_make_support_nested_variables],
|
||||
[if AS_ECHO([['TRUE=$(BAR$(V))
|
||||
BAR0=false
|
||||
BAR1=true
|
||||
V=1
|
||||
am__doit:
|
||||
@$(TRUE)
|
||||
.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
|
||||
am_cv_make_support_nested_variables=yes
|
||||
else
|
||||
am_cv_make_support_nested_variables=no
|
||||
fi])
|
||||
if test $am_cv_make_support_nested_variables = yes; then
|
||||
dnl Using '$V' instead of '$(V)' breaks IRIX make.
|
||||
AM_V='$(V)'
|
||||
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
|
||||
else
|
||||
AM_V=$AM_DEFAULT_VERBOSITY
|
||||
AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
|
||||
fi
|
||||
AC_SUBST([AM_V])dnl
|
||||
AM_SUBST_NOTMAKE([AM_V])dnl
|
||||
AC_SUBST([AM_DEFAULT_V])dnl
|
||||
AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
|
||||
AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
|
||||
AM_BACKSLASH='\'
|
||||
AC_SUBST([AM_BACKSLASH])dnl
|
||||
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
|
||||
])
|
||||
@@ -1,28 +0,0 @@
|
||||
## -*- Autoconf -*-
|
||||
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# AM_PROG_INSTALL_STRIP
|
||||
# ---------------------
|
||||
# One issue with vendor 'install' (even GNU) is that you can't
|
||||
# specify the program used to strip binaries. This is especially
|
||||
# annoying in cross-compiling environments, where the build's strip
|
||||
# is unlikely to handle the host's binaries.
|
||||
# Fortunately install-sh will honor a STRIPPROG variable, so we
|
||||
# always use install-sh in "make install-strip", and initialize
|
||||
# STRIPPROG with the value of the STRIP variable (set by the user).
|
||||
AC_DEFUN([AM_PROG_INSTALL_STRIP],
|
||||
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
|
||||
# Installed binaries are usually stripped using 'strip' when the user
|
||||
# run "make install-strip". However 'strip' might not be the right
|
||||
# tool to use in cross-compilation environments, therefore Automake
|
||||
# will honor the 'STRIP' environment variable to overrule this program.
|
||||
dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
|
||||
if test "$cross_compiling" != no; then
|
||||
AC_CHECK_TOOL([STRIP], [strip], :)
|
||||
fi
|
||||
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
||||
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||
@@ -1,17 +0,0 @@
|
||||
## -*- Autoconf -*-
|
||||
# Copyright (C) 2006-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# _AM_SUBST_NOTMAKE(VARIABLE)
|
||||
# ---------------------------
|
||||
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
|
||||
# This macro is traced by Automake.
|
||||
AC_DEFUN([_AM_SUBST_NOTMAKE])
|
||||
|
||||
# AM_SUBST_NOTMAKE(VARIABLE)
|
||||
# --------------------------
|
||||
# Public sister of _AM_SUBST_NOTMAKE.
|
||||
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
||||
@@ -1,132 +0,0 @@
|
||||
# Check how to create a tarball. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2004-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# _AM_PROG_TAR(FORMAT)
|
||||
# --------------------
|
||||
# Check how to create a tarball in format FORMAT.
|
||||
# FORMAT should be one of 'v7', 'ustar', or 'pax'.
|
||||
#
|
||||
# Substitute a variable $(am__tar) that is a command
|
||||
# writing to stdout a FORMAT-tarball containing the directory
|
||||
# $tardir.
|
||||
# tardir=directory && $(am__tar) > result.tar
|
||||
#
|
||||
# Substitute a variable $(am__untar) that extract such
|
||||
# a tarball read from stdin.
|
||||
# $(am__untar) < result.tar
|
||||
#
|
||||
AC_DEFUN([_AM_PROG_TAR],
|
||||
[# Always define AMTAR for backward compatibility. Yes, it's still used
|
||||
# in the wild :-( We should find a proper way to deprecate it ...
|
||||
AC_SUBST([AMTAR], ['$${TAR-tar}'])
|
||||
|
||||
# We'll loop over all known methods to create a tar archive until one works.
|
||||
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
|
||||
|
||||
m4_if([$1], [v7],
|
||||
[am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
|
||||
|
||||
[m4_case([$1],
|
||||
[ustar],
|
||||
[# The POSIX 1988 'ustar' format is defined with fixed-size fields.
|
||||
# There is notably a 21 bits limit for the UID and the GID. In fact,
|
||||
# the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
|
||||
# and bug#13588).
|
||||
am_max_uid=2097151 # 2^21 - 1
|
||||
am_max_gid=$am_max_uid
|
||||
# The $UID and $GID variables are not portable, so we need to resort
|
||||
# to the POSIX-mandated id(1) utility. Errors in the 'id' calls
|
||||
# below are definitely unexpected, so allow the users to see them
|
||||
# (that is, avoid stderr redirection).
|
||||
am_uid=`id -u || echo unknown`
|
||||
am_gid=`id -g || echo unknown`
|
||||
AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
|
||||
if test $am_uid -le $am_max_uid; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
_am_tools=none
|
||||
fi
|
||||
AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
|
||||
if test $am_gid -le $am_max_gid; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
_am_tools=none
|
||||
fi],
|
||||
|
||||
[pax],
|
||||
[],
|
||||
|
||||
[m4_fatal([Unknown tar format])])
|
||||
|
||||
AC_MSG_CHECKING([how to create a $1 tar archive])
|
||||
|
||||
# Go ahead even if we have the value already cached. We do so because we
|
||||
# need to set the values for the 'am__tar' and 'am__untar' variables.
|
||||
_am_tools=${am_cv_prog_tar_$1-$_am_tools}
|
||||
|
||||
for _am_tool in $_am_tools; do
|
||||
case $_am_tool in
|
||||
gnutar)
|
||||
for _am_tar in tar gnutar gtar; do
|
||||
AM_RUN_LOG([$_am_tar --version]) && break
|
||||
done
|
||||
am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
|
||||
am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
|
||||
am__untar="$_am_tar -xf -"
|
||||
;;
|
||||
plaintar)
|
||||
# Must skip GNU tar: if it does not support --format= it doesn't create
|
||||
# ustar tarball either.
|
||||
(tar --version) >/dev/null 2>&1 && continue
|
||||
am__tar='tar chf - "$$tardir"'
|
||||
am__tar_='tar chf - "$tardir"'
|
||||
am__untar='tar xf -'
|
||||
;;
|
||||
pax)
|
||||
am__tar='pax -L -x $1 -w "$$tardir"'
|
||||
am__tar_='pax -L -x $1 -w "$tardir"'
|
||||
am__untar='pax -r'
|
||||
;;
|
||||
cpio)
|
||||
am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
|
||||
am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
|
||||
am__untar='cpio -i -H $1 -d'
|
||||
;;
|
||||
none)
|
||||
am__tar=false
|
||||
am__tar_=false
|
||||
am__untar=false
|
||||
;;
|
||||
esac
|
||||
|
||||
# If the value was cached, stop now. We just wanted to have am__tar
|
||||
# and am__untar set.
|
||||
test -n "${am_cv_prog_tar_$1}" && break
|
||||
|
||||
# tar/untar a dummy directory, and stop if the command works.
|
||||
rm -rf conftest.dir
|
||||
mkdir conftest.dir
|
||||
echo GrepMe > conftest.dir/file
|
||||
AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
|
||||
rm -rf conftest.dir
|
||||
if test -s conftest.tar; then
|
||||
AM_RUN_LOG([$am__untar <conftest.tar])
|
||||
AM_RUN_LOG([cat conftest.dir/file])
|
||||
grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
|
||||
fi
|
||||
done
|
||||
rm -rf conftest.dir
|
||||
|
||||
AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
|
||||
AC_MSG_RESULT([$am_cv_prog_tar_$1])])
|
||||
|
||||
AC_SUBST([am__tar])
|
||||
AC_SUBST([am__untar])
|
||||
]) # _AM_PROG_TAR
|
||||
@@ -1,20 +0,0 @@
|
||||
# Find a compiler for Unified Parallel C. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2006-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
AC_DEFUN([AM_PROG_UPC],
|
||||
[dnl We need OBJEXT and EXEEXT, but Autoconf doesn't offer any public
|
||||
dnl macro to compute them. Use AC_PROG_CC instead.
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_ARG_VAR([UPC], [Unified Parallel C compiler command])dnl
|
||||
AC_ARG_VAR([UPCFLAGS], [Unified Parallel C compiler flags])dnl
|
||||
AC_CHECK_TOOLS([UPC], [m4_default([$1], [upcc upc])], [:])
|
||||
if test "$UPC" = :; then
|
||||
AC_MSG_ERROR([no Unified Parallel C compiler was found], [77])
|
||||
fi
|
||||
_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([UPC])])dnl
|
||||
])
|
||||
@@ -1,37 +0,0 @@
|
||||
# Autoconf support for the Vala compiler
|
||||
|
||||
# Copyright (C) 2008-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# Check whether the Vala compiler exists in $PATH. If it is found, the
|
||||
# variable VALAC is set pointing to its absolute path. Otherwise, it is
|
||||
# simply set to 'valac'.
|
||||
# Optionally a minimum release number of the compiler can be requested.
|
||||
# If the ACTION-IF-FOUND parameter is given, it will be run if a proper
|
||||
# Vala compiler is found.
|
||||
# Similarly, if the ACTION-IF-FOUND is given, it will be run if no proper
|
||||
# Vala compiler is found. It defaults to simply print a warning about the
|
||||
# situation, but otherwise proceeding with the configuration.
|
||||
#
|
||||
# AM_PROG_VALAC([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||
# --------------------------------------------------------------------------
|
||||
AC_DEFUN([AM_PROG_VALAC],
|
||||
[AC_PATH_PROG([VALAC], [valac], [valac])
|
||||
AS_IF([test "$VALAC" != valac && test -n "$1"],
|
||||
[AC_MSG_CHECKING([whether $VALAC is at least version $1])
|
||||
am__vala_version=`$VALAC --version | sed 's/Vala *//'`
|
||||
AS_VERSION_COMPARE([$1], ["$am__vala_version"],
|
||||
[AC_MSG_RESULT([yes])],
|
||||
[AC_MSG_RESULT([yes])],
|
||||
[AC_MSG_RESULT([no])
|
||||
VALAC=valac])])
|
||||
if test "$VALAC" = valac; then
|
||||
m4_default([$3],
|
||||
[AC_MSG_WARN([no proper vala compiler found])
|
||||
AC_MSG_WARN([you will not be able to compile vala source files])])
|
||||
else
|
||||
m4_default([$2], [:])
|
||||
fi])
|
||||
@@ -1,9 +0,0 @@
|
||||
This directory is where .m4 files providing third-party autoconf
|
||||
macros can be placed to be automatically found by the aclocal(1)
|
||||
program.
|
||||
|
||||
The .m4 files placed here could be shared among different versions
|
||||
of aclocal, so be careful.
|
||||
|
||||
Even if no actual .m4 files are present, this directory is required
|
||||
in order for aclocal to work properly. Please do not remove it.
|
||||
@@ -1,79 +0,0 @@
|
||||
# Portability macros for glibc argz. -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan <[email protected]>
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 5 argz.m4
|
||||
|
||||
AC_DEFUN([gl_FUNC_ARGZ],
|
||||
[gl_PREREQ_ARGZ
|
||||
|
||||
AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT])
|
||||
|
||||
AC_CHECK_TYPES([error_t],
|
||||
[],
|
||||
[AC_DEFINE([error_t], [int],
|
||||
[Define to a type to use for `error_t' if it is not otherwise available.])
|
||||
AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h
|
||||
does not typedef error_t.])],
|
||||
[#if defined(HAVE_ARGZ_H)
|
||||
# include <argz.h>
|
||||
#endif])
|
||||
|
||||
ARGZ_H=
|
||||
AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \
|
||||
argz_next argz_stringify], [], [ARGZ_H=argz.h; AC_LIBOBJ([argz])])
|
||||
|
||||
dnl if have system argz functions, allow forced use of
|
||||
dnl libltdl-supplied implementation (and default to do so
|
||||
dnl on "known bad" systems). Could use a runtime check, but
|
||||
dnl (a) detecting malloc issues is notoriously unreliable
|
||||
dnl (b) only known system that declares argz functions,
|
||||
dnl provides them, yet they are broken, is cygwin
|
||||
dnl releases prior to 16-Mar-2007 (1.5.24 and earlier)
|
||||
dnl So, it's more straightforward simply to special case
|
||||
dnl this for known bad systems.
|
||||
AS_IF([test -z "$ARGZ_H"],
|
||||
[AC_CACHE_CHECK(
|
||||
[if argz actually works],
|
||||
[lt_cv_sys_argz_works],
|
||||
[[case $host_os in #(
|
||||
*cygwin*)
|
||||
lt_cv_sys_argz_works=no
|
||||
if test "$cross_compiling" != no; then
|
||||
lt_cv_sys_argz_works="guessing no"
|
||||
else
|
||||
lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/'
|
||||
save_IFS=$IFS
|
||||
IFS=-.
|
||||
set x `uname -r | sed -e "$lt_sed_extract_leading_digits"`
|
||||
IFS=$save_IFS
|
||||
lt_os_major=${2-0}
|
||||
lt_os_minor=${3-0}
|
||||
lt_os_micro=${4-0}
|
||||
if test "$lt_os_major" -gt 1 \
|
||||
|| { test "$lt_os_major" -eq 1 \
|
||||
&& { test "$lt_os_minor" -gt 5 \
|
||||
|| { test "$lt_os_minor" -eq 5 \
|
||||
&& test "$lt_os_micro" -gt 24; }; }; }; then
|
||||
lt_cv_sys_argz_works=yes
|
||||
fi
|
||||
fi
|
||||
;; #(
|
||||
*) lt_cv_sys_argz_works=yes ;;
|
||||
esac]])
|
||||
AS_IF([test "$lt_cv_sys_argz_works" = yes],
|
||||
[AC_DEFINE([HAVE_WORKING_ARGZ], 1,
|
||||
[This value is set to 1 to indicate that the system argz facility works])],
|
||||
[ARGZ_H=argz.h
|
||||
AC_LIBOBJ([argz])])])
|
||||
|
||||
AC_SUBST([ARGZ_H])
|
||||
])
|
||||
|
||||
# Prerequisites of lib/argz.c.
|
||||
AC_DEFUN([gl_PREREQ_ARGZ], [:])
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,817 +0,0 @@
|
||||
# ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 1999-2006, 2007, 2008, 2011 Free Software Foundation, Inc.
|
||||
# Written by Thomas Tanner, 1999
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 18 LTDL_INIT
|
||||
|
||||
# LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE])
|
||||
# ------------------------------------------
|
||||
# DIRECTORY contains the libltdl sources. It is okay to call this
|
||||
# function multiple times, as long as the same DIRECTORY is always given.
|
||||
AC_DEFUN([LT_CONFIG_LTDL_DIR],
|
||||
[AC_BEFORE([$0], [LTDL_INIT])
|
||||
_$0($*)
|
||||
])# LT_CONFIG_LTDL_DIR
|
||||
|
||||
# We break this out into a separate macro, so that we can call it safely
|
||||
# internally without being caught accidentally by the sed scan in libtoolize.
|
||||
m4_defun([_LT_CONFIG_LTDL_DIR],
|
||||
[dnl remove trailing slashes
|
||||
m4_pushdef([_ARG_DIR], m4_bpatsubst([$1], [/*$]))
|
||||
m4_case(_LTDL_DIR,
|
||||
[], [dnl only set lt_ltdl_dir if _ARG_DIR is not simply `.'
|
||||
m4_if(_ARG_DIR, [.],
|
||||
[],
|
||||
[m4_define([_LTDL_DIR], _ARG_DIR)
|
||||
_LT_SHELL_INIT([lt_ltdl_dir=']_ARG_DIR['])])],
|
||||
[m4_if(_ARG_DIR, _LTDL_DIR,
|
||||
[],
|
||||
[m4_fatal([multiple libltdl directories: `]_LTDL_DIR[', `]_ARG_DIR['])])])
|
||||
m4_popdef([_ARG_DIR])
|
||||
])# _LT_CONFIG_LTDL_DIR
|
||||
|
||||
# Initialise:
|
||||
m4_define([_LTDL_DIR], [])
|
||||
|
||||
|
||||
# _LT_BUILD_PREFIX
|
||||
# ----------------
|
||||
# If Autoconf is new enough, expand to `${top_build_prefix}', otherwise
|
||||
# to `${top_builddir}/'.
|
||||
m4_define([_LT_BUILD_PREFIX],
|
||||
[m4_ifdef([AC_AUTOCONF_VERSION],
|
||||
[m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]), [2.62]),
|
||||
[-1], [m4_ifdef([_AC_HAVE_TOP_BUILD_PREFIX],
|
||||
[${top_build_prefix}],
|
||||
[${top_builddir}/])],
|
||||
[${top_build_prefix}])],
|
||||
[${top_builddir}/])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# LTDL_CONVENIENCE
|
||||
# ----------------
|
||||
# sets LIBLTDL to the link flags for the libltdl convenience library and
|
||||
# LTDLINCL to the include flags for the libltdl header and adds
|
||||
# --enable-ltdl-convenience to the configure arguments. Note that
|
||||
# AC_CONFIG_SUBDIRS is not called here. LIBLTDL will be prefixed with
|
||||
# '${top_build_prefix}' if available, otherwise with '${top_builddir}/',
|
||||
# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
|
||||
# quotes!). If your package is not flat and you're not using automake,
|
||||
# define top_build_prefix, top_builddir, and top_srcdir appropriately
|
||||
# in your Makefiles.
|
||||
AC_DEFUN([LTDL_CONVENIENCE],
|
||||
[AC_BEFORE([$0], [LTDL_INIT])dnl
|
||||
dnl Although the argument is deprecated and no longer documented,
|
||||
dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one
|
||||
dnl here make sure it is the same as any other declaration of libltdl's
|
||||
dnl location! This also ensures lt_ltdl_dir is set when configure.ac is
|
||||
dnl not yet using an explicit LT_CONFIG_LTDL_DIR.
|
||||
m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl
|
||||
_$0()
|
||||
])# LTDL_CONVENIENCE
|
||||
|
||||
# AC_LIBLTDL_CONVENIENCE accepted a directory argument in older libtools,
|
||||
# now we have LT_CONFIG_LTDL_DIR:
|
||||
AU_DEFUN([AC_LIBLTDL_CONVENIENCE],
|
||||
[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
|
||||
_LTDL_CONVENIENCE])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [])
|
||||
|
||||
|
||||
# _LTDL_CONVENIENCE
|
||||
# -----------------
|
||||
# Code shared by LTDL_CONVENIENCE and LTDL_INIT([convenience]).
|
||||
m4_defun([_LTDL_CONVENIENCE],
|
||||
[case $enable_ltdl_convenience in
|
||||
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
|
||||
"") enable_ltdl_convenience=yes
|
||||
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
|
||||
esac
|
||||
LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdlc.la"
|
||||
LTDLDEPS=$LIBLTDL
|
||||
LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}"
|
||||
|
||||
AC_SUBST([LIBLTDL])
|
||||
AC_SUBST([LTDLDEPS])
|
||||
AC_SUBST([LTDLINCL])
|
||||
|
||||
# For backwards non-gettext consistent compatibility...
|
||||
INCLTDL="$LTDLINCL"
|
||||
AC_SUBST([INCLTDL])
|
||||
])# _LTDL_CONVENIENCE
|
||||
|
||||
|
||||
# LTDL_INSTALLABLE
|
||||
# ----------------
|
||||
# sets LIBLTDL to the link flags for the libltdl installable library
|
||||
# and LTDLINCL to the include flags for the libltdl header and adds
|
||||
# --enable-ltdl-install to the configure arguments. Note that
|
||||
# AC_CONFIG_SUBDIRS is not called from here. If an installed libltdl
|
||||
# is not found, LIBLTDL will be prefixed with '${top_build_prefix}' if
|
||||
# available, otherwise with '${top_builddir}/', and LTDLINCL will be
|
||||
# prefixed with '${top_srcdir}/' (note the single quotes!). If your
|
||||
# package is not flat and you're not using automake, define top_build_prefix,
|
||||
# top_builddir, and top_srcdir appropriately in your Makefiles.
|
||||
# In the future, this macro may have to be called after LT_INIT.
|
||||
AC_DEFUN([LTDL_INSTALLABLE],
|
||||
[AC_BEFORE([$0], [LTDL_INIT])dnl
|
||||
dnl Although the argument is deprecated and no longer documented,
|
||||
dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one
|
||||
dnl here make sure it is the same as any other declaration of libltdl's
|
||||
dnl location! This also ensures lt_ltdl_dir is set when configure.ac is
|
||||
dnl not yet using an explicit LT_CONFIG_LTDL_DIR.
|
||||
m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl
|
||||
_$0()
|
||||
])# LTDL_INSTALLABLE
|
||||
|
||||
# AC_LIBLTDL_INSTALLABLE accepted a directory argument in older libtools,
|
||||
# now we have LT_CONFIG_LTDL_DIR:
|
||||
AU_DEFUN([AC_LIBLTDL_INSTALLABLE],
|
||||
[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
|
||||
_LTDL_INSTALLABLE])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [])
|
||||
|
||||
|
||||
# _LTDL_INSTALLABLE
|
||||
# -----------------
|
||||
# Code shared by LTDL_INSTALLABLE and LTDL_INIT([installable]).
|
||||
m4_defun([_LTDL_INSTALLABLE],
|
||||
[if test -f $prefix/lib/libltdl.la; then
|
||||
lt_save_LDFLAGS="$LDFLAGS"
|
||||
LDFLAGS="-L$prefix/lib $LDFLAGS"
|
||||
AC_CHECK_LIB([ltdl], [lt_dlinit], [lt_lib_ltdl=yes])
|
||||
LDFLAGS="$lt_save_LDFLAGS"
|
||||
if test x"${lt_lib_ltdl-no}" = xyes; then
|
||||
if test x"$enable_ltdl_install" != xyes; then
|
||||
# Don't overwrite $prefix/lib/libltdl.la without --enable-ltdl-install
|
||||
AC_MSG_WARN([not overwriting libltdl at $prefix, force with `--enable-ltdl-install'])
|
||||
enable_ltdl_install=no
|
||||
fi
|
||||
elif test x"$enable_ltdl_install" = xno; then
|
||||
AC_MSG_WARN([libltdl not installed, but installation disabled])
|
||||
fi
|
||||
fi
|
||||
|
||||
# If configure.ac declared an installable ltdl, and the user didn't override
|
||||
# with --disable-ltdl-install, we will install the shipped libltdl.
|
||||
case $enable_ltdl_install in
|
||||
no) ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
|
||||
LIBLTDL="-lltdl"
|
||||
LTDLDEPS=
|
||||
LTDLINCL=
|
||||
;;
|
||||
*) enable_ltdl_install=yes
|
||||
ac_configure_args="$ac_configure_args --enable-ltdl-install"
|
||||
LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdl.la"
|
||||
LTDLDEPS=$LIBLTDL
|
||||
LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}"
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_SUBST([LIBLTDL])
|
||||
AC_SUBST([LTDLDEPS])
|
||||
AC_SUBST([LTDLINCL])
|
||||
|
||||
# For backwards non-gettext consistent compatibility...
|
||||
INCLTDL="$LTDLINCL"
|
||||
AC_SUBST([INCLTDL])
|
||||
])# LTDL_INSTALLABLE
|
||||
|
||||
|
||||
# _LTDL_MODE_DISPATCH
|
||||
# -------------------
|
||||
m4_define([_LTDL_MODE_DISPATCH],
|
||||
[dnl If _LTDL_DIR is `.', then we are configuring libltdl itself:
|
||||
m4_if(_LTDL_DIR, [],
|
||||
[],
|
||||
dnl if _LTDL_MODE was not set already, the default value is `subproject':
|
||||
[m4_case(m4_default(_LTDL_MODE, [subproject]),
|
||||
[subproject], [AC_CONFIG_SUBDIRS(_LTDL_DIR)
|
||||
_LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"])],
|
||||
[nonrecursive], [_LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"; lt_libobj_prefix="$lt_ltdl_dir/"])],
|
||||
[recursive], [],
|
||||
[m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])dnl
|
||||
dnl Be careful not to expand twice:
|
||||
m4_define([$0], [])
|
||||
])# _LTDL_MODE_DISPATCH
|
||||
|
||||
|
||||
# _LT_LIBOBJ(MODULE_NAME)
|
||||
# -----------------------
|
||||
# Like AC_LIBOBJ, except that MODULE_NAME goes into _LT_LIBOBJS instead
|
||||
# of into LIBOBJS.
|
||||
AC_DEFUN([_LT_LIBOBJ], [
|
||||
m4_pattern_allow([^_LT_LIBOBJS$])
|
||||
_LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext"
|
||||
])# _LT_LIBOBJS
|
||||
|
||||
|
||||
# LTDL_INIT([OPTIONS])
|
||||
# --------------------
|
||||
# Clients of libltdl can use this macro to allow the installer to
|
||||
# choose between a shipped copy of the ltdl sources or a preinstalled
|
||||
# version of the library. If the shipped ltdl sources are not in a
|
||||
# subdirectory named libltdl, the directory name must be given by
|
||||
# LT_CONFIG_LTDL_DIR.
|
||||
AC_DEFUN([LTDL_INIT],
|
||||
[dnl Parse OPTIONS
|
||||
_LT_SET_OPTIONS([$0], [$1])
|
||||
|
||||
dnl We need to keep our own list of libobjs separate from our parent project,
|
||||
dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while
|
||||
dnl we look for our own LIBOBJs.
|
||||
m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ]))
|
||||
m4_pushdef([AC_LIBSOURCES])
|
||||
|
||||
dnl If not otherwise defined, default to the 1.5.x compatible subproject mode:
|
||||
m4_if(_LTDL_MODE, [],
|
||||
[m4_define([_LTDL_MODE], m4_default([$2], [subproject]))
|
||||
m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])],
|
||||
[m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])
|
||||
|
||||
AC_ARG_WITH([included_ltdl],
|
||||
[AS_HELP_STRING([--with-included-ltdl],
|
||||
[use the GNU ltdl sources included here])])
|
||||
|
||||
if test "x$with_included_ltdl" != xyes; then
|
||||
# We are not being forced to use the included libltdl sources, so
|
||||
# decide whether there is a useful installed version we can use.
|
||||
AC_CHECK_HEADER([ltdl.h],
|
||||
[AC_CHECK_DECL([lt_dlinterface_register],
|
||||
[AC_CHECK_LIB([ltdl], [lt_dladvise_preload],
|
||||
[with_included_ltdl=no],
|
||||
[with_included_ltdl=yes])],
|
||||
[with_included_ltdl=yes],
|
||||
[AC_INCLUDES_DEFAULT
|
||||
#include <ltdl.h>])],
|
||||
[with_included_ltdl=yes],
|
||||
[AC_INCLUDES_DEFAULT]
|
||||
)
|
||||
fi
|
||||
|
||||
dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE
|
||||
dnl was called yet, then for old times' sake, we assume libltdl is in an
|
||||
dnl eponymous directory:
|
||||
AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])])
|
||||
|
||||
AC_ARG_WITH([ltdl_include],
|
||||
[AS_HELP_STRING([--with-ltdl-include=DIR],
|
||||
[use the ltdl headers installed in DIR])])
|
||||
|
||||
if test -n "$with_ltdl_include"; then
|
||||
if test -f "$with_ltdl_include/ltdl.h"; then :
|
||||
else
|
||||
AC_MSG_ERROR([invalid ltdl include directory: `$with_ltdl_include'])
|
||||
fi
|
||||
else
|
||||
with_ltdl_include=no
|
||||
fi
|
||||
|
||||
AC_ARG_WITH([ltdl_lib],
|
||||
[AS_HELP_STRING([--with-ltdl-lib=DIR],
|
||||
[use the libltdl.la installed in DIR])])
|
||||
|
||||
if test -n "$with_ltdl_lib"; then
|
||||
if test -f "$with_ltdl_lib/libltdl.la"; then :
|
||||
else
|
||||
AC_MSG_ERROR([invalid ltdl library directory: `$with_ltdl_lib'])
|
||||
fi
|
||||
else
|
||||
with_ltdl_lib=no
|
||||
fi
|
||||
|
||||
case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in
|
||||
,yes,no,no,)
|
||||
m4_case(m4_default(_LTDL_TYPE, [convenience]),
|
||||
[convenience], [_LTDL_CONVENIENCE],
|
||||
[installable], [_LTDL_INSTALLABLE],
|
||||
[m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)])
|
||||
;;
|
||||
,no,no,no,)
|
||||
# If the included ltdl is not to be used, then use the
|
||||
# preinstalled libltdl we found.
|
||||
AC_DEFINE([HAVE_LTDL], [1],
|
||||
[Define this if a modern libltdl is already installed])
|
||||
LIBLTDL=-lltdl
|
||||
LTDLDEPS=
|
||||
LTDLINCL=
|
||||
;;
|
||||
,no*,no,*)
|
||||
AC_MSG_ERROR([`--with-ltdl-include' and `--with-ltdl-lib' options must be used together])
|
||||
;;
|
||||
*) with_included_ltdl=no
|
||||
LIBLTDL="-L$with_ltdl_lib -lltdl"
|
||||
LTDLDEPS=
|
||||
LTDLINCL="-I$with_ltdl_include"
|
||||
;;
|
||||
esac
|
||||
INCLTDL="$LTDLINCL"
|
||||
|
||||
# Report our decision...
|
||||
AC_MSG_CHECKING([where to find libltdl headers])
|
||||
AC_MSG_RESULT([$LTDLINCL])
|
||||
AC_MSG_CHECKING([where to find libltdl library])
|
||||
AC_MSG_RESULT([$LIBLTDL])
|
||||
|
||||
_LTDL_SETUP
|
||||
|
||||
dnl restore autoconf definition.
|
||||
m4_popdef([AC_LIBOBJ])
|
||||
m4_popdef([AC_LIBSOURCES])
|
||||
|
||||
AC_CONFIG_COMMANDS_PRE([
|
||||
_ltdl_libobjs=
|
||||
_ltdl_ltlibobjs=
|
||||
if test -n "$_LT_LIBOBJS"; then
|
||||
# Remove the extension.
|
||||
_lt_sed_drop_objext='s/\.o$//;s/\.obj$//'
|
||||
for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do
|
||||
_ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext"
|
||||
_ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo"
|
||||
done
|
||||
fi
|
||||
AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs])
|
||||
AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs])
|
||||
])
|
||||
|
||||
# Only expand once:
|
||||
m4_define([LTDL_INIT])
|
||||
])# LTDL_INIT
|
||||
|
||||
# Old names:
|
||||
AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)])
|
||||
AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)])
|
||||
AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)])
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIB_LTDL], [])
|
||||
dnl AC_DEFUN([AC_WITH_LTDL], [])
|
||||
dnl AC_DEFUN([LT_WITH_LTDL], [])
|
||||
|
||||
|
||||
# _LTDL_SETUP
|
||||
# -----------
|
||||
# Perform all the checks necessary for compilation of the ltdl objects
|
||||
# -- including compiler checks and header checks. This is a public
|
||||
# interface mainly for the benefit of libltdl's own configure.ac, most
|
||||
# other users should call LTDL_INIT instead.
|
||||
AC_DEFUN([_LTDL_SETUP],
|
||||
[AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([LT_SYS_MODULE_EXT])dnl
|
||||
AC_REQUIRE([LT_SYS_MODULE_PATH])dnl
|
||||
AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl
|
||||
AC_REQUIRE([LT_LIB_DLLOAD])dnl
|
||||
AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl
|
||||
AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl
|
||||
AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl
|
||||
AC_REQUIRE([gl_FUNC_ARGZ])dnl
|
||||
|
||||
m4_require([_LT_CHECK_OBJDIR])dnl
|
||||
m4_require([_LT_HEADER_DLFCN])dnl
|
||||
m4_require([_LT_CHECK_DLPREOPEN])dnl
|
||||
m4_require([_LT_DECL_SED])dnl
|
||||
|
||||
dnl Don't require this, or it will be expanded earlier than the code
|
||||
dnl that sets the variables it relies on:
|
||||
_LT_ENABLE_INSTALL
|
||||
|
||||
dnl _LTDL_MODE specific code must be called at least once:
|
||||
_LTDL_MODE_DISPATCH
|
||||
|
||||
# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS
|
||||
# the user used. This is so that ltdl.h can pick up the parent projects
|
||||
# config.h file, The first file in AC_CONFIG_HEADERS must contain the
|
||||
# definitions required by ltdl.c.
|
||||
# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility).
|
||||
AC_CONFIG_COMMANDS_PRE([dnl
|
||||
m4_pattern_allow([^LT_CONFIG_H$])dnl
|
||||
m4_ifset([AH_HEADER],
|
||||
[LT_CONFIG_H=AH_HEADER],
|
||||
[m4_ifset([AC_LIST_HEADERS],
|
||||
[LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's,^[[ ]]*,,;s,[[ :]].*$,,'`],
|
||||
[])])])
|
||||
AC_SUBST([LT_CONFIG_H])
|
||||
|
||||
AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h],
|
||||
[], [], [AC_INCLUDES_DEFAULT])
|
||||
|
||||
AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])])
|
||||
AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])])
|
||||
|
||||
m4_pattern_allow([LT_LIBEXT])dnl
|
||||
AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension])
|
||||
|
||||
name=
|
||||
eval "lt_libprefix=\"$libname_spec\""
|
||||
m4_pattern_allow([LT_LIBPREFIX])dnl
|
||||
AC_DEFINE_UNQUOTED([LT_LIBPREFIX],["$lt_libprefix"],[The archive prefix])
|
||||
|
||||
name=ltdl
|
||||
eval "LTDLOPEN=\"$libname_spec\""
|
||||
AC_SUBST([LTDLOPEN])
|
||||
])# _LTDL_SETUP
|
||||
|
||||
|
||||
# _LT_ENABLE_INSTALL
|
||||
# ------------------
|
||||
m4_define([_LT_ENABLE_INSTALL],
|
||||
[AC_ARG_ENABLE([ltdl-install],
|
||||
[AS_HELP_STRING([--enable-ltdl-install], [install libltdl])])
|
||||
|
||||
case ,${enable_ltdl_install},${enable_ltdl_convenience} in
|
||||
*yes*) ;;
|
||||
*) enable_ltdl_convenience=yes ;;
|
||||
esac
|
||||
|
||||
m4_ifdef([AM_CONDITIONAL],
|
||||
[AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno)
|
||||
AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)])
|
||||
])# _LT_ENABLE_INSTALL
|
||||
|
||||
|
||||
# LT_SYS_DLOPEN_DEPLIBS
|
||||
# ---------------------
|
||||
AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS],
|
||||
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
|
||||
[lt_cv_sys_dlopen_deplibs],
|
||||
[# PORTME does your system automatically load deplibs for dlopen?
|
||||
# or its logical equivalent (e.g. shl_load for HP-UX < 11)
|
||||
# For now, we just catch OSes we know something about -- in the
|
||||
# future, we'll try test this programmatically.
|
||||
lt_cv_sys_dlopen_deplibs=unknown
|
||||
case $host_os in
|
||||
aix3*|aix4.1.*|aix4.2.*)
|
||||
# Unknown whether this is true for these versions of AIX, but
|
||||
# we want this `case' here to explicitly catch those versions.
|
||||
lt_cv_sys_dlopen_deplibs=unknown
|
||||
;;
|
||||
aix[[4-9]]*)
|
||||
lt_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
amigaos*)
|
||||
case $host_cpu in
|
||||
powerpc)
|
||||
lt_cv_sys_dlopen_deplibs=no
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
darwin*)
|
||||
# Assuming the user has installed a libdl from somewhere, this is true
|
||||
# If you are looking for one http://www.opendarwin.org/projects/dlcompat
|
||||
lt_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
freebsd* | dragonfly*)
|
||||
lt_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu)
|
||||
# GNU and its variants, using gnu ld.so (Glibc)
|
||||
lt_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
hpux10*|hpux11*)
|
||||
lt_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
interix*)
|
||||
lt_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
irix[[12345]]*|irix6.[[01]]*)
|
||||
# Catch all versions of IRIX before 6.2, and indicate that we don't
|
||||
# know how it worked for any of those versions.
|
||||
lt_cv_sys_dlopen_deplibs=unknown
|
||||
;;
|
||||
irix*)
|
||||
# The case above catches anything before 6.2, and it's known that
|
||||
# at 6.2 and later dlopen does load deplibs.
|
||||
lt_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
netbsd*)
|
||||
lt_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
openbsd*)
|
||||
lt_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
osf[[1234]]*)
|
||||
# dlopen did load deplibs (at least at 4.x), but until the 5.x series,
|
||||
# it did *not* use an RPATH in a shared library to find objects the
|
||||
# library depends on, so we explicitly say `no'.
|
||||
lt_cv_sys_dlopen_deplibs=no
|
||||
;;
|
||||
osf5.0|osf5.0a|osf5.1)
|
||||
# dlopen *does* load deplibs and with the right loader patch applied
|
||||
# it even uses RPATH in a shared library to search for shared objects
|
||||
# that the library depends on, but there's no easy way to know if that
|
||||
# patch is installed. Since this is the case, all we can really
|
||||
# say is unknown -- it depends on the patch being installed. If
|
||||
# it is, this changes to `yes'. Without it, it would be `no'.
|
||||
lt_cv_sys_dlopen_deplibs=unknown
|
||||
;;
|
||||
osf*)
|
||||
# the two cases above should catch all versions of osf <= 5.1. Read
|
||||
# the comments above for what we know about them.
|
||||
# At > 5.1, deplibs are loaded *and* any RPATH in a shared library
|
||||
# is used to find them so we can finally say `yes'.
|
||||
lt_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
qnx*)
|
||||
lt_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
solaris*)
|
||||
lt_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
|
||||
libltdl_cv_sys_dlopen_deplibs=yes
|
||||
;;
|
||||
esac
|
||||
])
|
||||
if test "$lt_cv_sys_dlopen_deplibs" != yes; then
|
||||
AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1],
|
||||
[Define if the OS needs help to load dependent libraries for dlopen().])
|
||||
fi
|
||||
])# LT_SYS_DLOPEN_DEPLIBS
|
||||
|
||||
# Old name:
|
||||
AU_ALIAS([AC_LTDL_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS])
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [])
|
||||
|
||||
|
||||
# LT_SYS_MODULE_EXT
|
||||
# -----------------
|
||||
AC_DEFUN([LT_SYS_MODULE_EXT],
|
||||
[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
|
||||
AC_CACHE_CHECK([which extension is used for runtime loadable modules],
|
||||
[libltdl_cv_shlibext],
|
||||
[
|
||||
module=yes
|
||||
eval libltdl_cv_shlibext=$shrext_cmds
|
||||
module=no
|
||||
eval libltdl_cv_shrext=$shrext_cmds
|
||||
])
|
||||
if test -n "$libltdl_cv_shlibext"; then
|
||||
m4_pattern_allow([LT_MODULE_EXT])dnl
|
||||
AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"],
|
||||
[Define to the extension used for runtime loadable modules, say, ".so".])
|
||||
fi
|
||||
if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then
|
||||
m4_pattern_allow([LT_SHARED_EXT])dnl
|
||||
AC_DEFINE_UNQUOTED([LT_SHARED_EXT], ["$libltdl_cv_shrext"],
|
||||
[Define to the shared library suffix, say, ".dylib".])
|
||||
fi
|
||||
])# LT_SYS_MODULE_EXT
|
||||
|
||||
# Old name:
|
||||
AU_ALIAS([AC_LTDL_SHLIBEXT], [LT_SYS_MODULE_EXT])
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LTDL_SHLIBEXT], [])
|
||||
|
||||
|
||||
# LT_SYS_MODULE_PATH
|
||||
# ------------------
|
||||
AC_DEFUN([LT_SYS_MODULE_PATH],
|
||||
[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
|
||||
AC_CACHE_CHECK([which variable specifies run-time module search path],
|
||||
[lt_cv_module_path_var], [lt_cv_module_path_var="$shlibpath_var"])
|
||||
if test -n "$lt_cv_module_path_var"; then
|
||||
m4_pattern_allow([LT_MODULE_PATH_VAR])dnl
|
||||
AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"],
|
||||
[Define to the name of the environment variable that determines the run-time module search path.])
|
||||
fi
|
||||
])# LT_SYS_MODULE_PATH
|
||||
|
||||
# Old name:
|
||||
AU_ALIAS([AC_LTDL_SHLIBPATH], [LT_SYS_MODULE_PATH])
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LTDL_SHLIBPATH], [])
|
||||
|
||||
|
||||
# LT_SYS_DLSEARCH_PATH
|
||||
# --------------------
|
||||
AC_DEFUN([LT_SYS_DLSEARCH_PATH],
|
||||
[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
|
||||
AC_CACHE_CHECK([for the default library search path],
|
||||
[lt_cv_sys_dlsearch_path],
|
||||
[lt_cv_sys_dlsearch_path="$sys_lib_dlsearch_path_spec"])
|
||||
if test -n "$lt_cv_sys_dlsearch_path"; then
|
||||
sys_dlsearch_path=
|
||||
for dir in $lt_cv_sys_dlsearch_path; do
|
||||
if test -z "$sys_dlsearch_path"; then
|
||||
sys_dlsearch_path="$dir"
|
||||
else
|
||||
sys_dlsearch_path="$sys_dlsearch_path$PATH_SEPARATOR$dir"
|
||||
fi
|
||||
done
|
||||
m4_pattern_allow([LT_DLSEARCH_PATH])dnl
|
||||
AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"],
|
||||
[Define to the system default library search path.])
|
||||
fi
|
||||
])# LT_SYS_DLSEARCH_PATH
|
||||
|
||||
# Old name:
|
||||
AU_ALIAS([AC_LTDL_SYSSEARCHPATH], [LT_SYS_DLSEARCH_PATH])
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [])
|
||||
|
||||
|
||||
# _LT_CHECK_DLPREOPEN
|
||||
# -------------------
|
||||
m4_defun([_LT_CHECK_DLPREOPEN],
|
||||
[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
|
||||
AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen],
|
||||
[libltdl_cv_preloaded_symbols],
|
||||
[if test -n "$lt_cv_sys_global_symbol_pipe"; then
|
||||
libltdl_cv_preloaded_symbols=yes
|
||||
else
|
||||
libltdl_cv_preloaded_symbols=no
|
||||
fi
|
||||
])
|
||||
if test x"$libltdl_cv_preloaded_symbols" = xyes; then
|
||||
AC_DEFINE([HAVE_PRELOADED_SYMBOLS], [1],
|
||||
[Define if libtool can extract symbol lists from object files.])
|
||||
fi
|
||||
])# _LT_CHECK_DLPREOPEN
|
||||
|
||||
|
||||
# LT_LIB_DLLOAD
|
||||
# -------------
|
||||
AC_DEFUN([LT_LIB_DLLOAD],
|
||||
[m4_pattern_allow([^LT_DLLOADERS$])
|
||||
LT_DLLOADERS=
|
||||
AC_SUBST([LT_DLLOADERS])
|
||||
|
||||
AC_LANG_PUSH([C])
|
||||
|
||||
LIBADD_DLOPEN=
|
||||
AC_SEARCH_LIBS([dlopen], [dl],
|
||||
[AC_DEFINE([HAVE_LIBDL], [1],
|
||||
[Define if you have the libdl library or equivalent.])
|
||||
if test "$ac_cv_search_dlopen" != "none required" ; then
|
||||
LIBADD_DLOPEN="-ldl"
|
||||
fi
|
||||
libltdl_cv_lib_dl_dlopen="yes"
|
||||
LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"],
|
||||
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H
|
||||
# include <dlfcn.h>
|
||||
#endif
|
||||
]], [[dlopen(0, 0);]])],
|
||||
[AC_DEFINE([HAVE_LIBDL], [1],
|
||||
[Define if you have the libdl library or equivalent.])
|
||||
libltdl_cv_func_dlopen="yes"
|
||||
LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"],
|
||||
[AC_CHECK_LIB([svld], [dlopen],
|
||||
[AC_DEFINE([HAVE_LIBDL], [1],
|
||||
[Define if you have the libdl library or equivalent.])
|
||||
LIBADD_DLOPEN="-lsvld" libltdl_cv_func_dlopen="yes"
|
||||
LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])])
|
||||
if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes
|
||||
then
|
||||
lt_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS $LIBADD_DLOPEN"
|
||||
AC_CHECK_FUNCS([dlerror])
|
||||
LIBS="$lt_save_LIBS"
|
||||
fi
|
||||
AC_SUBST([LIBADD_DLOPEN])
|
||||
|
||||
LIBADD_SHL_LOAD=
|
||||
AC_CHECK_FUNC([shl_load],
|
||||
[AC_DEFINE([HAVE_SHL_LOAD], [1],
|
||||
[Define if you have the shl_load function.])
|
||||
LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"],
|
||||
[AC_CHECK_LIB([dld], [shl_load],
|
||||
[AC_DEFINE([HAVE_SHL_LOAD], [1],
|
||||
[Define if you have the shl_load function.])
|
||||
LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"
|
||||
LIBADD_SHL_LOAD="-ldld"])])
|
||||
AC_SUBST([LIBADD_SHL_LOAD])
|
||||
|
||||
case $host_os in
|
||||
darwin[[1567]].*)
|
||||
# We only want this for pre-Mac OS X 10.4.
|
||||
AC_CHECK_FUNC([_dyld_func_lookup],
|
||||
[AC_DEFINE([HAVE_DYLD], [1],
|
||||
[Define if you have the _dyld_func_lookup function.])
|
||||
LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"])
|
||||
;;
|
||||
beos*)
|
||||
LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la"
|
||||
;;
|
||||
cygwin* | mingw* | os2* | pw32*)
|
||||
AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include <sys/cygwin.h>]])
|
||||
LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la"
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_CHECK_LIB([dld], [dld_link],
|
||||
[AC_DEFINE([HAVE_DLD], [1],
|
||||
[Define if you have the GNU dld library.])
|
||||
LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"])
|
||||
AC_SUBST([LIBADD_DLD_LINK])
|
||||
|
||||
m4_pattern_allow([^LT_DLPREOPEN$])
|
||||
LT_DLPREOPEN=
|
||||
if test -n "$LT_DLLOADERS"
|
||||
then
|
||||
for lt_loader in $LT_DLLOADERS; do
|
||||
LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader "
|
||||
done
|
||||
AC_DEFINE([HAVE_LIBDLLOADER], [1],
|
||||
[Define if libdlloader will be built on this platform])
|
||||
fi
|
||||
AC_SUBST([LT_DLPREOPEN])
|
||||
|
||||
dnl This isn't used anymore, but set it for backwards compatibility
|
||||
LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD"
|
||||
AC_SUBST([LIBADD_DL])
|
||||
|
||||
AC_LANG_POP
|
||||
])# LT_LIB_DLLOAD
|
||||
|
||||
# Old name:
|
||||
AU_ALIAS([AC_LTDL_DLLIB], [LT_LIB_DLLOAD])
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LTDL_DLLIB], [])
|
||||
|
||||
|
||||
# LT_SYS_SYMBOL_USCORE
|
||||
# --------------------
|
||||
# does the compiler prefix global symbols with an underscore?
|
||||
AC_DEFUN([LT_SYS_SYMBOL_USCORE],
|
||||
[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
|
||||
AC_CACHE_CHECK([for _ prefix in compiled symbols],
|
||||
[lt_cv_sys_symbol_underscore],
|
||||
[lt_cv_sys_symbol_underscore=no
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
void nm_test_func(){}
|
||||
int main(){nm_test_func;return 0;}
|
||||
_LT_EOF
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
# Now try to grab the symbols.
|
||||
ac_nlist=conftest.nm
|
||||
if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
|
||||
# See whether the symbols have a leading underscore.
|
||||
if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
|
||||
lt_cv_sys_symbol_underscore=yes
|
||||
else
|
||||
if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
|
||||
:
|
||||
else
|
||||
echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
|
||||
fi
|
||||
else
|
||||
echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
|
||||
cat conftest.c >&AS_MESSAGE_LOG_FD
|
||||
fi
|
||||
rm -rf conftest*
|
||||
])
|
||||
sys_symbol_underscore=$lt_cv_sys_symbol_underscore
|
||||
AC_SUBST([sys_symbol_underscore])
|
||||
])# LT_SYS_SYMBOL_USCORE
|
||||
|
||||
# Old name:
|
||||
AU_ALIAS([AC_LTDL_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE])
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [])
|
||||
|
||||
|
||||
# LT_FUNC_DLSYM_USCORE
|
||||
# --------------------
|
||||
AC_DEFUN([LT_FUNC_DLSYM_USCORE],
|
||||
[AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl
|
||||
if test x"$lt_cv_sys_symbol_underscore" = xyes; then
|
||||
if test x"$libltdl_cv_func_dlopen" = xyes ||
|
||||
test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then
|
||||
AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
|
||||
[libltdl_cv_need_uscore],
|
||||
[libltdl_cv_need_uscore=unknown
|
||||
save_LIBS="$LIBS"
|
||||
LIBS="$LIBS $LIBADD_DLOPEN"
|
||||
_LT_TRY_DLOPEN_SELF(
|
||||
[libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes],
|
||||
[], [libltdl_cv_need_uscore=cross])
|
||||
LIBS="$save_LIBS"
|
||||
])
|
||||
fi
|
||||
fi
|
||||
|
||||
if test x"$libltdl_cv_need_uscore" = xyes; then
|
||||
AC_DEFINE([NEED_USCORE], [1],
|
||||
[Define if dlsym() requires a leading underscore in symbol names.])
|
||||
fi
|
||||
])# LT_FUNC_DLSYM_USCORE
|
||||
|
||||
# Old name:
|
||||
AU_ALIAS([AC_LTDL_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE])
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], [])
|
||||
@@ -1,384 +0,0 @@
|
||||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
|
||||
# Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 7 ltoptions.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
|
||||
|
||||
|
||||
# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
|
||||
# ------------------------------------------
|
||||
m4_define([_LT_MANGLE_OPTION],
|
||||
[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
|
||||
|
||||
|
||||
# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
|
||||
# ---------------------------------------
|
||||
# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
|
||||
# matching handler defined, dispatch to it. Other OPTION-NAMEs are
|
||||
# saved as a flag.
|
||||
m4_define([_LT_SET_OPTION],
|
||||
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
|
||||
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
|
||||
_LT_MANGLE_DEFUN([$1], [$2]),
|
||||
[m4_warning([Unknown $1 option `$2'])])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
|
||||
# ------------------------------------------------------------
|
||||
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
|
||||
m4_define([_LT_IF_OPTION],
|
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
|
||||
|
||||
|
||||
# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
|
||||
# -------------------------------------------------------
|
||||
# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
|
||||
# are set.
|
||||
m4_define([_LT_UNLESS_OPTIONS],
|
||||
[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
|
||||
[m4_define([$0_found])])])[]dnl
|
||||
m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
|
||||
])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
|
||||
# ----------------------------------------
|
||||
# OPTION-LIST is a space-separated list of Libtool options associated
|
||||
# with MACRO-NAME. If any OPTION has a matching handler declared with
|
||||
# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
|
||||
# the unknown option and exit.
|
||||
m4_defun([_LT_SET_OPTIONS],
|
||||
[# Set options
|
||||
m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
||||
[_LT_SET_OPTION([$1], _LT_Option)])
|
||||
|
||||
m4_if([$1],[LT_INIT],[
|
||||
dnl
|
||||
dnl Simply set some default values (i.e off) if boolean options were not
|
||||
dnl specified:
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
|
||||
])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
|
||||
])
|
||||
dnl
|
||||
dnl If no reference was made to various pairs of opposing options, then
|
||||
dnl we run the default mode handler for the pair. For example, if neither
|
||||
dnl `shared' nor `disable-shared' was passed, we enable building of shared
|
||||
dnl archives by default:
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
|
||||
[_LT_ENABLE_FAST_INSTALL])
|
||||
])
|
||||
])# _LT_SET_OPTIONS
|
||||
|
||||
|
||||
## --------------------------------- ##
|
||||
## Macros to handle LT_INIT options. ##
|
||||
## --------------------------------- ##
|
||||
|
||||
# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
|
||||
# -----------------------------------------
|
||||
m4_define([_LT_MANGLE_DEFUN],
|
||||
[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
|
||||
|
||||
|
||||
# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
|
||||
# -----------------------------------------------
|
||||
m4_define([LT_OPTION_DEFINE],
|
||||
[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
|
||||
])# LT_OPTION_DEFINE
|
||||
|
||||
|
||||
# dlopen
|
||||
# ------
|
||||
LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
|
||||
])
|
||||
|
||||
AU_DEFUN([AC_LIBTOOL_DLOPEN],
|
||||
[_LT_SET_OPTION([LT_INIT], [dlopen])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the `dlopen' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
|
||||
|
||||
|
||||
# win32-dll
|
||||
# ---------
|
||||
# Declare package support for building win32 dll's.
|
||||
LT_OPTION_DEFINE([LT_INIT], [win32-dll],
|
||||
[enable_win32_dll=yes
|
||||
|
||||
case $host in
|
||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
|
||||
AC_CHECK_TOOL(AS, as, false)
|
||||
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
||||
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
||||
;;
|
||||
esac
|
||||
|
||||
test -z "$AS" && AS=as
|
||||
_LT_DECL([], [AS], [1], [Assembler program])dnl
|
||||
|
||||
test -z "$DLLTOOL" && DLLTOOL=dlltool
|
||||
_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
|
||||
|
||||
test -z "$OBJDUMP" && OBJDUMP=objdump
|
||||
_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
|
||||
])# win32-dll
|
||||
|
||||
AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
|
||||
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
_LT_SET_OPTION([LT_INIT], [win32-dll])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the `win32-dll' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
|
||||
|
||||
|
||||
# _LT_ENABLE_SHARED([DEFAULT])
|
||||
# ----------------------------
|
||||
# implement the --enable-shared flag, and supports the `shared' and
|
||||
# `disable-shared' LT_INIT options.
|
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
||||
m4_define([_LT_ENABLE_SHARED],
|
||||
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([shared],
|
||||
[AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
|
||||
[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_shared=yes ;;
|
||||
no) enable_shared=no ;;
|
||||
*)
|
||||
enable_shared=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for pkg in $enableval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_shared=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
|
||||
|
||||
_LT_DECL([build_libtool_libs], [enable_shared], [0],
|
||||
[Whether or not to build shared libraries])
|
||||
])# _LT_ENABLE_SHARED
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
|
||||
|
||||
# Old names:
|
||||
AC_DEFUN([AC_ENABLE_SHARED],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_DISABLE_SHARED],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-shared])
|
||||
])
|
||||
|
||||
AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
|
||||
AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AM_ENABLE_SHARED], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_SHARED], [])
|
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_STATIC([DEFAULT])
|
||||
# ----------------------------
|
||||
# implement the --enable-static flag, and support the `static' and
|
||||
# `disable-static' LT_INIT options.
|
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
||||
m4_define([_LT_ENABLE_STATIC],
|
||||
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([static],
|
||||
[AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
|
||||
[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_static=yes ;;
|
||||
no) enable_static=no ;;
|
||||
*)
|
||||
enable_static=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for pkg in $enableval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_static=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[enable_static=]_LT_ENABLE_STATIC_DEFAULT)
|
||||
|
||||
_LT_DECL([build_old_libs], [enable_static], [0],
|
||||
[Whether or not to build static libraries])
|
||||
])# _LT_ENABLE_STATIC
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
|
||||
|
||||
# Old names:
|
||||
AC_DEFUN([AC_ENABLE_STATIC],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_DISABLE_STATIC],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-static])
|
||||
])
|
||||
|
||||
AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
|
||||
AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AM_ENABLE_STATIC], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_STATIC], [])
|
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_FAST_INSTALL([DEFAULT])
|
||||
# ----------------------------------
|
||||
# implement the --enable-fast-install flag, and support the `fast-install'
|
||||
# and `disable-fast-install' LT_INIT options.
|
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
||||
m4_define([_LT_ENABLE_FAST_INSTALL],
|
||||
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([fast-install],
|
||||
[AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
|
||||
[optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_fast_install=yes ;;
|
||||
no) enable_fast_install=no ;;
|
||||
*)
|
||||
enable_fast_install=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for pkg in $enableval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_fast_install=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
|
||||
|
||||
_LT_DECL([fast_install], [enable_fast_install], [0],
|
||||
[Whether or not to optimize for fast installation])dnl
|
||||
])# _LT_ENABLE_FAST_INSTALL
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
|
||||
|
||||
# Old names:
|
||||
AU_DEFUN([AC_ENABLE_FAST_INSTALL],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
||||
the `fast-install' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
AU_DEFUN([AC_DISABLE_FAST_INSTALL],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
||||
the `disable-fast-install' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
|
||||
|
||||
|
||||
# _LT_WITH_PIC([MODE])
|
||||
# --------------------
|
||||
# implement the --with-pic flag, and support the `pic-only' and `no-pic'
|
||||
# LT_INIT options.
|
||||
# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
|
||||
m4_define([_LT_WITH_PIC],
|
||||
[AC_ARG_WITH([pic],
|
||||
[AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
|
||||
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
|
||||
[lt_p=${PACKAGE-default}
|
||||
case $withval in
|
||||
yes|no) pic_mode=$withval ;;
|
||||
*)
|
||||
pic_mode=default
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for lt_pkg in $withval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$lt_pkg" = "X$lt_p"; then
|
||||
pic_mode=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[pic_mode=default])
|
||||
|
||||
test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
|
||||
|
||||
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
|
||||
])# _LT_WITH_PIC
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
|
||||
|
||||
# Old name:
|
||||
AU_DEFUN([AC_LIBTOOL_PICMODE],
|
||||
[_LT_SET_OPTION([LT_INIT], [pic-only])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the `pic-only' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
|
||||
|
||||
## ----------------- ##
|
||||
## LTDL_INIT Options ##
|
||||
## ----------------- ##
|
||||
|
||||
m4_define([_LTDL_MODE], [])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
|
||||
[m4_define([_LTDL_MODE], [nonrecursive])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [recursive],
|
||||
[m4_define([_LTDL_MODE], [recursive])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [subproject],
|
||||
[m4_define([_LTDL_MODE], [subproject])])
|
||||
|
||||
m4_define([_LTDL_TYPE], [])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [installable],
|
||||
[m4_define([_LTDL_TYPE], [installable])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [convenience],
|
||||
[m4_define([_LTDL_TYPE], [convenience])])
|
||||
@@ -1,123 +0,0 @@
|
||||
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 6 ltsugar.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
|
||||
|
||||
|
||||
# lt_join(SEP, ARG1, [ARG2...])
|
||||
# -----------------------------
|
||||
# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
|
||||
# associated separator.
|
||||
# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
|
||||
# versions in m4sugar had bugs.
|
||||
m4_define([lt_join],
|
||||
[m4_if([$#], [1], [],
|
||||
[$#], [2], [[$2]],
|
||||
[m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
|
||||
m4_define([_lt_join],
|
||||
[m4_if([$#$2], [2], [],
|
||||
[m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
|
||||
|
||||
|
||||
# lt_car(LIST)
|
||||
# lt_cdr(LIST)
|
||||
# ------------
|
||||
# Manipulate m4 lists.
|
||||
# These macros are necessary as long as will still need to support
|
||||
# Autoconf-2.59 which quotes differently.
|
||||
m4_define([lt_car], [[$1]])
|
||||
m4_define([lt_cdr],
|
||||
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
|
||||
[$#], 1, [],
|
||||
[m4_dquote(m4_shift($@))])])
|
||||
m4_define([lt_unquote], $1)
|
||||
|
||||
|
||||
# lt_append(MACRO-NAME, STRING, [SEPARATOR])
|
||||
# ------------------------------------------
|
||||
# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
|
||||
# Note that neither SEPARATOR nor STRING are expanded; they are appended
|
||||
# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
|
||||
# No SEPARATOR is output if MACRO-NAME was previously undefined (different
|
||||
# than defined and empty).
|
||||
#
|
||||
# This macro is needed until we can rely on Autoconf 2.62, since earlier
|
||||
# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
|
||||
m4_define([lt_append],
|
||||
[m4_define([$1],
|
||||
m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
|
||||
|
||||
|
||||
|
||||
# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
|
||||
# ----------------------------------------------------------
|
||||
# Produce a SEP delimited list of all paired combinations of elements of
|
||||
# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
|
||||
# has the form PREFIXmINFIXSUFFIXn.
|
||||
# Needed until we can rely on m4_combine added in Autoconf 2.62.
|
||||
m4_define([lt_combine],
|
||||
[m4_if(m4_eval([$# > 3]), [1],
|
||||
[m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
|
||||
[[m4_foreach([_Lt_prefix], [$2],
|
||||
[m4_foreach([_Lt_suffix],
|
||||
]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
|
||||
[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
|
||||
|
||||
|
||||
# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
|
||||
# -----------------------------------------------------------------------
|
||||
# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
|
||||
# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
|
||||
m4_define([lt_if_append_uniq],
|
||||
[m4_ifdef([$1],
|
||||
[m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
|
||||
[lt_append([$1], [$2], [$3])$4],
|
||||
[$5])],
|
||||
[lt_append([$1], [$2], [$3])$4])])
|
||||
|
||||
|
||||
# lt_dict_add(DICT, KEY, VALUE)
|
||||
# -----------------------------
|
||||
m4_define([lt_dict_add],
|
||||
[m4_define([$1($2)], [$3])])
|
||||
|
||||
|
||||
# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
|
||||
# --------------------------------------------
|
||||
m4_define([lt_dict_add_subkey],
|
||||
[m4_define([$1($2:$3)], [$4])])
|
||||
|
||||
|
||||
# lt_dict_fetch(DICT, KEY, [SUBKEY])
|
||||
# ----------------------------------
|
||||
m4_define([lt_dict_fetch],
|
||||
[m4_ifval([$3],
|
||||
m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
|
||||
m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
|
||||
|
||||
|
||||
# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
|
||||
# -----------------------------------------------------------------
|
||||
m4_define([lt_if_dict_fetch],
|
||||
[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
|
||||
[$5],
|
||||
[$6])])
|
||||
|
||||
|
||||
# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
|
||||
# --------------------------------------------------------------
|
||||
m4_define([lt_dict_filter],
|
||||
[m4_if([$5], [], [],
|
||||
[lt_join(m4_quote(m4_default([$4], [[, ]])),
|
||||
lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
|
||||
[lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
|
||||
])
|
||||
@@ -1,23 +0,0 @@
|
||||
# ltversion.m4 -- version numbers -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# @configure_input@
|
||||
|
||||
# serial 3337 ltversion.m4
|
||||
# This file is part of GNU Libtool
|
||||
|
||||
m4_define([LT_PACKAGE_VERSION], [2.4.2])
|
||||
m4_define([LT_PACKAGE_REVISION], [1.3337])
|
||||
|
||||
AC_DEFUN([LTVERSION_VERSION],
|
||||
[macro_version='2.4.2'
|
||||
macro_revision='1.3337'
|
||||
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
|
||||
_LT_DECL(, macro_revision, 0)
|
||||
])
|
||||
@@ -1,98 +0,0 @@
|
||||
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 5 lt~obsolete.m4
|
||||
|
||||
# These exist entirely to fool aclocal when bootstrapping libtool.
|
||||
#
|
||||
# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
|
||||
# which have later been changed to m4_define as they aren't part of the
|
||||
# exported API, or moved to Autoconf or Automake where they belong.
|
||||
#
|
||||
# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
|
||||
# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
|
||||
# using a macro with the same name in our local m4/libtool.m4 it'll
|
||||
# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
|
||||
# and doesn't know about Autoconf macros at all.)
|
||||
#
|
||||
# So we provide this file, which has a silly filename so it's always
|
||||
# included after everything else. This provides aclocal with the
|
||||
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
|
||||
# because those macros already exist, or will be overwritten later.
|
||||
# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
|
||||
#
|
||||
# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
|
||||
# Yes, that means every name once taken will need to remain here until
|
||||
# we give up compatibility with versions before 1.7, at which point
|
||||
# we need to keep only those names which we still refer to.
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
|
||||
|
||||
m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
|
||||
m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
|
||||
m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
|
||||
m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
|
||||
m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
|
||||
m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
|
||||
m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
|
||||
m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
|
||||
m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
|
||||
m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
|
||||
m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
|
||||
m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
|
||||
m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
|
||||
m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
|
||||
m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
|
||||
m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
|
||||
m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
|
||||
m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
|
||||
m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
|
||||
m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
|
||||
m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
|
||||
m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
|
||||
m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
|
||||
m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
|
||||
m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
|
||||
m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
|
||||
m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
|
||||
m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
|
||||
m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
|
||||
m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
|
||||
m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
|
||||
m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
|
||||
m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
|
||||
m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
|
||||
m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
|
||||
m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
|
||||
m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
|
||||
m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
|
||||
m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
|
||||
m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user