From d0394fd30188376d69072057eaabde8dbde3dcf7 Mon Sep 17 00:00:00 2001 From: David Adam Date: Thu, 28 Feb 2019 00:20:14 +1100 Subject: [PATCH] configure/Makefile.in: drop Autotools build Removes the autoconf-based build system and its artefacts, updates git metadata and removes the autoconf-based build from the README. --- .gitattributes | 4 - .gitignore | 14 - CHANGELOG.md | 3 + Makefile.in | 1158 -------------------- README.md | 20 +- config.guess | 1438 ------------------------- config.sub | 1810 -------------------------------- configure.ac | 744 ------------- install-sh | 501 --------- m4/ax_cxx_compile_stdcxx.m4 | 562 ---------- m4/ax_cxx_compile_stdcxx_11.m4 | 39 - 11 files changed, 12 insertions(+), 6281 deletions(-) delete mode 100644 Makefile.in delete mode 100755 config.guess delete mode 100755 config.sub delete mode 100644 configure.ac delete mode 100755 install-sh delete mode 100644 m4/ax_cxx_compile_stdcxx.m4 delete mode 100644 m4/ax_cxx_compile_stdcxx_11.m4 diff --git a/.gitattributes b/.gitattributes index e3b679b63..821dafd14 100644 --- a/.gitattributes +++ b/.gitattributes @@ -25,10 +25,6 @@ # for linguist; let github identify our project as C++ instead of C due to pcre2 /pcre2-10.32/* linguist-vendored -install-sh linguist-vendored -config.sub linguist-vendored -config.guess linguist-vendored -/m4/* linguist-vendored angular.js linguist-vendored /doc_src/* linguist-documentation *.fish linguist-language=fish diff --git a/.gitignore b/.gitignore index e62cb2ef3..9aba928df 100644 --- a/.gitignore +++ b/.gitignore @@ -38,16 +38,6 @@ Desktop.ini Thumbs.db ehthumbs.db - -# These file names can appear anywhere in the hierarchy. They tend to be OS -# or build system artifacts. -autom4te.cache -aclocal.m4 -Makefile -config.h -config.cache -config.h.in -config.status messages.pot .directory .fuse_hidden* @@ -55,7 +45,6 @@ messages.pot # Directories that only contain transitory files from building and testing. /doc/ -/obj/ /share/man/ /share/doc/ /test/ @@ -67,8 +56,6 @@ messages.pot /command_list.txt /command_list_toc.txt /compile_commands.json -/confdefs.h -/configure /doc.h /fish /fish.pc @@ -85,7 +72,6 @@ fish-build-version-witness.txt # from building and testing. /doc_src/commands.hdr /doc_src/index.hdr -/pcre2-*/configure.lineno /po/*.gmo /share/__fish_build_paths.fish /share/pkgconfig diff --git a/CHANGELOG.md b/CHANGELOG.md index c062e66d8..b5eabb074 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,9 @@ - `cf` - `bosh` +### For distributors and developers +- The autotools-based build system and legacy Xcode build systems have been removed, leaving only the CMake build system. All distributors and developers must migrate to the CMake build. + --- # fish 3.0.2 (released February 19, 2019) diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index 7f457bd15..000000000 --- a/Makefile.in +++ /dev/null @@ -1,1158 +0,0 @@ -# Copyright (C) 2005-2006 Axel Liljencrantz -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA -# - -# -# @configure_input@ -# - -# -# Makefile for the fish shell. Can build fish and associated -# applications, install them, and recalculate dependencies. -# - -# Verbosity -# make V=1 causes a noisy make, V=0 is silent/quiet. If one uses (lower case v) -# $v as a substitute for @, it will be replaced with an empty string for the -# default (V=1) case and replaced with @ in the V=0 case. You can use a bare @ -# for things that should almost never print. -V := 0 - -# -# Used by docdir -# -PACKAGE_TARNAME := @PACKAGE_TARNAME@ - -# The default: /bin/sh -# Fish won't work. -SHELL := @SHELL@ - -# Programs -# -CXX := @CXX@ -CC := @CC@ -INSTALL := @INSTALL@ -LN_S := @LN_S@ -SED := @SED@ -MKDIR_P := @MKDIR_P@ -AWK := @AWK@ -GREP := @GREP@ -FGREP := @FGREP@ - -# -# Installation directories -# -prefix = @prefix@ -exec_prefix = @exec_prefix@ -datarootdir = @datarootdir@ -datadir = @datadir@ -bindir = @bindir@ -mandir = @mandir@ -sysconfdir = @sysconfdir@ -docdir = @docdir@ -localedir = @localedir@ -extra_completionsdir = @extra_completionsdir@ -extra_functionsdir = @extra_functionsdir@ -extra_confdir = @extra_confdir@ - -# -# pcre2 -# -PCRE2_WIDTH = @WCHAR_T_BITS@ -PCRE2_DIR = pcre2-10.32 -PCRE2_LIBDIR = $(PCRE2_DIR)/.libs -PCRE2_LIB = $(PCRE2_LIBDIR)/libpcre2-$(PCRE2_WIDTH).a -PCRE2_H = $(PCRE2_DIR)/src/pcre2.h -EXTRA_PCRE2 = @EXTRA_PCRE2@ - -# -# Various flags -# -CXXFLAGS = @CXXFLAGS@ $(EXTRA_CXXFLAGS) -CFLAGS = @CFLAGS@ -CPPFLAGS = -D_UNICODE=1 -DLOCALEDIR=\"$(localedir)\" -DPREFIX=L\"$(prefix)\" -DDATADIR=L\"$(datadir)\" -DSYSCONFDIR=L\"$(sysconfdir)\" -DBINDIR=L\"$(bindir)\" -DDOCDIR=L\"$(docdir)\" -iquote. -iquote./src/ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -LDFLAGS_FISH = ${LDFLAGS} @LDFLAGS_FISH@ - -# -# Set to 1 if we have gettext -# -HAVE_GETTEXT=@HAVE_GETTEXT@ - -# -# Set to 1 if we have doxygen -# -HAVE_DOXYGEN=@HAVE_DOXYGEN@ - -# -# All objects that the system needs to build fish, except fish.o -# -FISH_OBJS := obj/autoload.o obj/builtin.o obj/builtin_bg.o obj/builtin_bind.o obj/builtin_block.o \ - obj/builtin_builtin.o obj/builtin_cd.o obj/builtin_command.o \ - obj/builtin_commandline.o obj/builtin_complete.o obj/builtin_contains.o \ - obj/builtin_disown.o obj/builtin_echo.o obj/builtin_emit.o \ - obj/builtin_exit.o obj/builtin_fg.o obj/builtin_function.o \ - obj/builtin_functions.o obj/builtin_argparse.o obj/builtin_history.o \ - obj/builtin_jobs.o obj/builtin_math.o obj/builtin_printf.o obj/builtin_pwd.o \ - obj/builtin_random.o obj/builtin_read.o obj/builtin_realpath.o \ - obj/builtin_return.o obj/builtin_set.o obj/builtin_set_color.o \ - obj/builtin_source.o obj/builtin_status.o obj/builtin_string.o \ - obj/builtin_test.o obj/builtin_ulimit.o obj/builtin_wait.o obj/color.o obj/common.o \ - obj/complete.o obj/env.o obj/env_universal_common.o obj/event.o obj/exec.o \ - obj/expand.o obj/fallback.o obj/fish_version.o obj/function.o obj/highlight.o \ - obj/history.o obj/input.o obj/input_common.o obj/intern.o obj/io.o \ - obj/iothread.o obj/kill.o obj/output.o obj/pager.o obj/parse_execution.o \ - obj/parse_productions.o obj/parse_tree.o obj/parse_util.o obj/parser.o \ - obj/parser_keywords.o obj/path.o obj/postfork.o obj/proc.o obj/reader.o \ - obj/sanity.o obj/screen.o obj/signal.o obj/tinyexpr.o obj/tokenizer.o obj/tnode.o obj/utf8.o \ - obj/util.o obj/wcstringutil.o obj/wgetopt.o obj/wildcard.o obj/wutil.o \ - obj/future_feature_flags.o obj/redirection.o obj/topic_monitor.o - -FISH_INDENT_OBJS := obj/fish_indent.o obj/print_help.o $(FISH_OBJS) - -FISH_KEYREAD_OBJS := obj/fish_key_reader.o obj/print_help.o $(FISH_OBJS) - -# -# All objects that the system needs to build fish_tests -# -FISH_TESTS_OBJS := $(FISH_OBJS) obj/fish_tests.o - -# -# All of the sources that produce object files -# (that is, are not themselves #included in other source files) -# -FISH_ALL_OBJS := $(sort $(FISH_OBJS) $(FISH_INDENT_OBJS) $(FISH_TESTS_OBJS) $(FISH_KEYREAD_OBJS) obj/fish.o) - -# -# Files in the test directory -# -TEST_IN := $(wildcard tests/test*.in) - -# -# Files in ./share/completions/ -# -COMPLETIONS_DIR_FILES := $(wildcard share/completions/*.fish) - -# -# Files in ./share/functions/ -# -FUNCTIONS_DIR_FILES := $(wildcard share/functions/*.fish) - -# -# Programs to install -# -PROGRAMS := fish fish_indent fish_key_reader - -# -# All translation message catalogs, filter files based on LINGUAS. -# -TRANSLATIONS_SRC := $(wildcard po/*.po) -ifeq ($(HAVE_GETTEXT), 1) - TRANSLATIONS := $(TRANSLATIONS_SRC:.po=.gmo) -ifdef LINGUAS - TRANSLATIONS_ALL := $(TRANSLATIONS) - TRANSLATIONS_WANTED = $(patsubst %,po/%.gmo,$(LINGUAS)) - TRANSLATIONS = $(filter $(TRANSLATIONS_WANTED),$(TRANSLATIONS_ALL)) -endif -else - TRANSLATIONS := -endif - - -t_co:=$(shell tput colors || echo '') 2> /dev/null -green := $(shell ( tput setaf 2 || tput AF 2 ) 2> /dev/null ) -yellow := $(shell ( tput setaf 3 || tput AF 3 ) 2> /dev/null ) -cyan := $(shell ( tput setaf 6 || tput AF 6 ) 2> /dev/null ) -red := $(shell ( tput setaf 1 || tput AF 1 ) 2> /dev/null ) -bo := $(shell ( tput bold || tput md ) 2> /dev/null ) -# * Italic: Rarely defined - it's common for it to work despite -# terminfo entries and isn't known to cause any recent > 256-color terminals -# to explode. If terminfo says a terminal supports 256 colors - it's fancy enough -# and won't have trouble the escape. -ifeq ($(t_co), 256) - em := $(shell ( tput sitm || tput ZH || echo "\\033[3m" ) 2> /dev/null ) -# * Half-bright/faint 'dim' mode - rarely works - rarely in terminfo when it does -# but it's cool. Use it with one of the basic colors to get a fainter version -# of it. We use this to shade the output from any reconfigures we trigger. - dim := $(shell ( tput dim || tput mh || [ $(TERM_PROGRAM) = Apple_Terminal ] && echo "\\033[2m") 2> /dev/null ) -else - em := $(shell ( tput sitm || tput ZH ) 2> /dev/null ) - dim := $(shell ( tput dim || tput mh) 2> /dev/null ) -endif - -sgr0 := $(shell ( tput sgr0 || tput me) 2> /dev/null ) - -# -# A target that shows VAR='$(VAR)' (properly escaped) -# Cool trick: `make show-$var` (e.g. make show-HAVE_DOXYGEN) to quickly see what $var is. -# -show-%: - -@echo " $* = $(em)$(cyan)'$(subst ',''',$($*))'$(sgr0)" -# -# Make everything needed for installing fish -# -all: show-CXX show-CXXFLAGS $(PROGRAMS) $(TRANSLATIONS) fish.pc share/__fish_build_paths.fish -ifneq (,$(findstring install,$(MAKECMDGOALS))) -# Fish has been built, but if the goal was 'install', we aren't done yet and this output isnt't desirable - @echo "$(green)fish has now been built.$(sgr0)" - @echo "Run $(yellow)$(notdir $(MAKE)) install$(sgr0) to install fish.$(sgr0)" -endif -.PHONY: all - -# -# Pull version information -# -FISH-BUILD-VERSION-FILE: FORCE | show-FISH_BUILD_VERSION - $v build_tools/git_version_gen.sh 2> /dev/null --include FISH-BUILD-VERSION-FILE -CPPFLAGS += -DFISH_BUILD_VERSION=\"$(FISH_BUILD_VERSION)\" -.PHONY: FORCE -obj/fish_version.o: FISH-BUILD-VERSION-FILE - -# -# These dependencies make sure that autoconf and configure are run -# when the source code for the build configuration has changed. -# -configure: configure.ac - @echo "Rechecking config.status; rerunning ./configure if necessary...$(dim)" - $v ./config.status --recheck - @echo "$(sgr0)" - -Makefile: Makefile.in configure - @echo "Checking config.status...$(dim)" - $v ./config.status - @echo "$(sgr0)" - -# -# Build fish with some debug flags specified. This is GCC specific, -# and should only be used when debugging fish. -# -prof: EXTRA_CXXFLAGS += -pg -prof: LDFLAGS += -pg -prof: all -.PHONY: prof - -doc: - @echo "Docs build from autotools is no longer supported - use CMake to build documentation" - @false - -# -# Prep the environment for running the unit tests. When specifying DESTDIR on -# the command line (e.g., `make DESTDIR=/usr/local/`) you must have previously -# installed fish using the same prefix; e.g., `./configure --prefix=/usr/local` -# followed by `make install`. -# -test-prep: show-DESTDIR show-LN_S show-FISH_VERSION - $v rm -rf test - $v $(MKDIR_P) test/data test/home test/temp -ifdef DESTDIR - $v $(LN_S) $(DESTDIR) test/root -else - $v $(MKDIR_P) test/root -endif -.PHONY: test-prep - -# -# The test target runs both the low level code tests and the high level script -# tests. -# -# Note that doing `make DESTDIR=/some/path/ test` overrides this assignment. -# -test: DESTDIR = $(PWD)/test/root/ -test: prefix = . -test: test-prep install-force test_low_level test_high_level - $v rm -f /tmp/file_truncation_test.txt /tmp/tee_test.txt /tmp/fish_foo.txt - $v rm -rf /tmp/is_potential_path_test -.PHONY: test - -# -# We want the various tests to run serially so their output doesn't mix -# We can do that by adding ordering dependencies based on what goals are being used. -# -test_goals := test_low_level test_fishscript test_interactive test_invocation - -# -# The following variables define targets that depend on the tests. If any more targets -# are added that depend, directly or indirectly, on tests, they need to be recorded here. -# -test_test_deps = test_low_level $(test_high_level_test_deps) -test_high_level_test_deps = test_fishscript test_interactive test_invocation - -active_test_goals = $(filter $(test_goals),$(foreach a,$(or $(MAKECMDGOALS),$(.DEFAULT_GOAL)),$(a) $($(a)_test_deps))) -filter_up_to = $(eval b:=1)$(foreach a,$(2),$(and $(b),$(if $(subst $(1),,$(a)),$(a),$(eval b:=)))) - -# The values for XDG_DATA_HOME and XDG_CONFIG_HOME mimic those from tests/test_util.fish. -test_low_level: fish_tests $(call filter_up_to,test_low_level,$(active_test_goals)) - $v rm -rf test/data test/home - $(MKDIR_P) test/data test/home - env XDG_DATA_HOME=test/data XDG_CONFIG_HOME=test/home ./fish_tests -.PHONY: test_low_level - -test_high_level: DESTDIR = $(PWD)/test/root/ -test_high_level: prefix = . -test_high_level: test-prep install-force test_fishscript test_interactive test_invocation -.PHONY: test_high_level - -test_invocation: $(call filter_up_to,test_invocation,$(active_test_goals)) - cd tests; ./invocation.sh -.PHONY: test_invocation - -test_fishscript: $(call filter_up_to,test_fishscript,$(active_test_goals)) - cd tests; ../test/root/bin/fish test.fish -.PHONY: test_fishscript - -test_interactive: $(call filter_up_to,test_interactive,$(active_test_goals)) - cd tests; ../test/root/bin/fish interactive.fish -.PHONY: test_interactive - - -toc.txt: $(HDR_FILES:index.hdr=index.hdr.in) build_tools/build_toc_txt.sh | show-SED - FISH_BUILD_VERSION=${FISH_BUILD_VERSION} build_tools/build_toc_txt.sh \ - $(HDR_FILES:index.hdr=index.hdr.in) > toc.txt - - - -# -# Depend on Makefile because I don't see a better way of rebuilding -# if any of the paths change. -# -%: %.in Makefile FISH-BUILD-VERSION-FILE | show-prefix show-sysconfdir show-docdir show-extra_completionsdir show-extra_functionsdir show-extra_confdir show-prefix show-FISH_BUILD_VERSION - @echo " SED $(em)$@$(sgr0)" - - $v $(SED) <$< >$@ \ - -e "s,@sysconfdir\@,$(sysconfdir),g" \ - -e "s,@datadir\@,$(datadir),g" \ - -e "s,@docdir\@,$(docdir),g" \ - -e "s,@extra_completionsdir\@,$(extra_completionsdir),g" \ - -e "s,@extra_functionsdir\@,$(extra_functionsdir),g" \ - -e "s,@extra_confdir\@,$(extra_confdir),g" \ - -e "s|@configure_input\@|$@, generated from $@.in by the Makefile. DO NOT MANUALLY EDIT THIS FILE!|g" \ - -e "s,@prefix\@,$(prefix),g" \ - -e "s,@fish_build_version\@,$(FISH_BUILD_VERSION),g" \ - -# -# Compile translation files to binary format. -# -%.gmo: - @echo " msgfmt $(em)$@$(sgr0)" - $v msgfmt -o $@ $*.po - -# -# Update existing po file or copy messages.pot -# -%.po:messages.pot - @echo " msgmerge $(em)$@$(sgr0)" - $v if test -f $*.po; then \ - msgmerge -U --backup=existing $*.po messages.pot;\ - else \ - cp messages.pot $*.po;\ - fi - -# -# Create a template translation object -# -messages.pot: fish $(wildcard src/*.cpp src/*.h share/completions/*.fish share/functions/*.fish) - @echo " xgettext $(em)$@$(sgr0)" - $v xgettext -k -k_ -kN_ -LC++ --no-wrap -o messages.pot src/*.cpp src/*.h - $v rm -rf /tmp/fish - $v ./fish build_tools/fish_xgettext.fish - $v xgettext -j -k -kN_ -LShell --from-code=UTF-8 -cDescription --no-wrap -o messages.pot /tmp/fish/explicit/share/*.fish /tmp/fish/explicit/share/*/*.fish - $v xgettext -j -k -kN_ -LShell --from-code=UTF-8 -cDescription --no-wrap -o messages.pot /tmp/fish/implicit/share/*.fish /tmp/fish/implicit/share/*/*.fish - $v rm -rf /tmp/fish - -ifdef EXTRA_PCRE2 -src/builtin_string.cpp: $(PCRE2_H) -endif - - -# -# The build rules for installing/uninstalling fish -# - -check-legacy-binaries: - @echo "Checking for legacy binaries..." - $v KR_LOC=$(prefix)/bin/key_reader;\ - if test -x "$$KR_LOC" && env TERM=dumb "$$KR_LOC" cr | grep -q 26; then\ - echo "$(red)A key_reader binary was found. You might want to remove this, and use 'fish_key_reader':";\ - echo " '$$KR_LOC'$(sgr0)";\ - fi; - $v SEQLOC=$(prefix)/bin/seq;\ - if test -f "$$SEQLOC" && grep -q '\(^#!/.*/fish\|^#!/usr/bin/env fish\)' "$$SEQLOC"; then\ - echo "$(red)An outdated seq from a previous fish install was found. You should remove it with:";\ - echo " rm '$$SEQLOC'$(sgr0)";\ - fi; - $v SETCOLOR_LOC=$(prefix)/bin/set_color;\ - if test -x "$$SETCOLOR_LOC" && $$SETCOLOR_LOC -v 2>&1 >/dev/null | grep -q "^set_color, version "; then\ - echo "$(red)An outdated set_color from a previous fish install was found. You should remove it with:";\ - echo " rm '$$SETCOLOR_LOC'$(sgr0)";\ - fi; - $v MIMEDB_LOC=$(prefix)/bin/mimedb;\ - if test -x "$$MIMEDB_LOC" && $$MIMEDB_LOC --version 2>&1 | grep -q "^mimedb, version "; then\ - echo "$(red)An outdated mimedb binary from a previous fish install was found. You should remove it with:";\ - echo " rm '$$MIMEDB_LOC'$(sgr0)";\ - fi; - $v FISHD_LOC=$(prefix)/bin/fishd;\ - if test -x "$$FISHD_LOC" && $$FISHD_LOC --version 2>&1 | grep -q "^fishd: fishd, version "; then\ - echo "$(red)An outdated fishd binary from a previous fish install was found. You should remove it with:";\ - echo " rm '$$FISHD_LOC'$(sgr0)";\ - fi; - $v true; -.PHONY: check-legacy-binaries - -install: all install-force | check-legacy-binaries - @echo - @echo "$(bo)fish is now installed on your system.$(sgr0)" - @echo "To run fish, type $(bo)$(green)fish$(sgr0) in your terminal." - @echo "$(T_YELLOW)Even if you are already in fish, you should now start a new fish session.$(sgr0)" - @echo - @if type chsh >/dev/null 2>&1; then \ - echo To use fish as your login shell:; \ - grep -q -- "$(DESTDIR)$(bindir)/fish" /etc/shells || echo -e " * add the line '$(DESTDIR)$(bindir)/fish' to the file '/etc/shells':" \ - "\n echo '$(DESTDIR)$(bindir)/fish' | sudo tee -a /etc/shells > /dev/null"; \ - echo " * run '$(yellow)chsh -s $(DESTDIR)$(bindir)/fish$(sgr0)'"; \ - echo; \ - fi; - @if type chcon >/dev/null 2>&1; then \ - echo If you have SELinux enabled, you may need to manually update the security policy:; \ - echo \ \* use the command \'chcon -t shell_exec_t $(DESTDIR)$(bindir)/fish\'; \ - echo; \ - fi; - @echo "To set your colors, run $(green)$(bo)fish_config$(sgr0)" - @echo "To scan your man pages for completions, run $(green)$(bo)fish_update_completions$(sgr0)" - @echo "To accept autosuggestions (in $(dim)grey$(sgr0)) as you type, hit $(bo)ctrl-F$(sgr0) or right arrow key." - @echo - @echo "$(bo)Have fun! <><$(sgr0)" -.PHONY: install - -# -# Actually do the installation. -# -install-force: all install-translations install-doc | show-datadir show-sysconfdir show-extra_completionsdir show-extra_functionsdir show-extra_confdir show-mandir - $v $(INSTALL) -m 755 -d $(DESTDIR)$(bindir) - $v for i in $(PROGRAMS); do\ - $(INSTALL) -m 755 $$i $(DESTDIR)$(bindir);\ - echo " Installing $(bo)$$i$(sgr0)";\ - true ;\ - done; - @echo "Creating sysconfdir tree" - $v $(INSTALL) -m 755 -d $(DESTDIR)$(sysconfdir)/fish - $v $(INSTALL) -m 755 -d $(DESTDIR)$(sysconfdir)/fish/conf.d - $v $(INSTALL) -m 755 -d $(DESTDIR)$(sysconfdir)/fish/completions - $v $(INSTALL) -m 755 -d $(DESTDIR)$(sysconfdir)/fish/functions - $v $(INSTALL) -m 644 etc/config.fish $(DESTDIR)$(sysconfdir)/fish/ - @echo "Creating datadir tree" - $v $(INSTALL) -m 755 -d $(DESTDIR)$(datadir)/fish - $v $(INSTALL) -m 755 -d $(DESTDIR)$(datadir)/fish/completions - $v $(INSTALL) -m 755 -d $(DESTDIR)$(datadir)/fish/functions - $v $(INSTALL) -m 755 -d $(DESTDIR)$(datadir)/fish/groff - $v $(INSTALL) -m 755 -d $(DESTDIR)$(datadir)/fish/man/man1 - $v $(INSTALL) -m 755 -d $(DESTDIR)$(datadir)/fish/tools - $v $(INSTALL) -m 755 -d $(DESTDIR)$(datadir)/fish/tools/web_config - $v $(INSTALL) -m 755 -d $(DESTDIR)$(datadir)/fish/tools/web_config/js - $v $(INSTALL) -m 755 -d $(DESTDIR)$(datadir)/fish/tools/web_config/partials - $v $(INSTALL) -m 755 -d $(DESTDIR)$(datadir)/fish/tools/web_config/sample_prompts - $v $(INSTALL) -m 644 share/config.fish $(DESTDIR)$(datadir)/fish/ - $v $(INSTALL) -m 644 share/__fish_build_paths.fish $(DESTDIR)$(datadir)/fish/ - $v $(INSTALL) -m 755 -d $(DESTDIR)$(datadir)/pkgconfig - @echo "Creating placeholder vendor/'extra_' directories" - -$v $(INSTALL) -m 755 -d $(DESTDIR)$(extra_completionsdir) - -$v $(INSTALL) -m 755 -d $(DESTDIR)$(extra_functionsdir) - -$v $(INSTALL) -m 755 -d $(DESTDIR)$(extra_confdir) - @echo "Installing pkgconfig file" - $v $(INSTALL) -m 644 fish.pc $(DESTDIR)$(datadir)/pkgconfig - @echo "Installing the $(bo)fish completion library$(sgr0)..."; - $v $(INSTALL) -m 644 $(COMPLETIONS_DIR_FILES:%='%') $(DESTDIR)$(datadir)/fish/completions/ - @echo "Installing $(bo)fish functions$(sgr0)"; - $v $(INSTALL) -m 644 $(FUNCTIONS_DIR_FILES:%='%') $(DESTDIR)$(datadir)/fish/functions/ - @echo "Installing $(bo)man pages$(sgr0)"; - $v $(INSTALL) -m 644 share/groff/* $(DESTDIR)$(datadir)/fish/groff/ - $v test -z "$(wildcard share/man/man1/*.1)" || $(INSTALL) -m 644 $(filter-out $(addprefix share/man/man1/, $(CONDEMNED_PAGES)), $(wildcard share/man/man1/*.1)) $(DESTDIR)$(datadir)/fish/man/man1/ - @echo "Installing helper tools"; - $v $(INSTALL) -m 755 share/tools/*.py $(DESTDIR)$(datadir)/fish/tools/ - $v $(INSTALL) -m 644 share/tools/web_config/*.* $(DESTDIR)$(datadir)/fish/tools/web_config/ - $v $(INSTALL) -m 644 share/tools/web_config/js/*.* $(DESTDIR)$(datadir)/fish/tools/web_config/js/ - $v $(INSTALL) -m 644 share/tools/web_config/partials/* $(DESTDIR)$(datadir)/fish/tools/web_config/partials/ - $v $(INSTALL) -m 644 share/tools/web_config/sample_prompts/*.fish $(DESTDIR)$(datadir)/fish/tools/web_config/sample_prompts/ - $v $(INSTALL) -m 755 share/tools/web_config/*.py $(DESTDIR)$(datadir)/fish/tools/web_config/ - @echo "Installing more man pages"; - $v $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1; - $v for i in $(MANUALS); do \ - $(INSTALL) -m 644 $$i $(DESTDIR)$(mandir)/man1/; \ - true; \ - done; - @echo "Installing miscellaneous helper resources"; - $v $(INSTALL) -m 644 share/lynx.lss $(DESTDIR)$(datadir)/fish/ -.PHONY: install-force - -# -# Uninstall this fish version -# -uninstall: uninstall-translations | show-prefix show-bindir show-sysconfdir show-datadir show-docdir show-mandir - @echo - @echo "$(bo)$(yellow)Uninstalling fish$(sgr0) from configured \$$prefix: $(bo)$(prefix)$(sgr0)" - @echo - @echo "In 5 seconds, $(red)all data$(sgr0) (includes functions, completions, tools) in" - @echo $$'\t$(bo)$(DESTDIR)$(datadir)/fish$(sgr0) will be deleted!' - @echo - @echo "If you put things there, $(red)stop now!$(sgr0)" - @echo "$(bo)5$(sgr0)" - @sleep 1 - @echo "$(bo)4$(sgr0)" - @sleep 1 - @echo "$(bo)3$(sgr0)" - @sleep 1 - @echo "$(bo)2$(sgr0)" - @sleep 1 - @echo "$(bo)1$(sgr0)" - @sleep 1 - @echo ... - @sleep 2 - @echo "... deleting $(bo)$(DESTDIR)$(datadir)/fish/*$(sgr0)" - -$v if test -d $(DESTDIR)$(datadir)/fish; then \ - rm -rf $(DESTDIR)$(datadir)/fish; \ - fi - @echo "Deleting programs: [ $(bo)$(PROGRAMS)$(sgr0) ] in $(em)$(bindir)$(sgr0)" - -$v for i in $(PROGRAMS); do \ - rm -f $(DESTDIR)$(bindir)/$$i; \ - done; - @echo "Deleting configuration: $(bo)$(DESTDIR)$(sysconfdir)/fish/*$(sgr0)" - -$v rm -rf $(DESTDIR)$(sysconfdir)/fish - @echo "Deleting documentation: $(bo)$(DESTDIR)$(docdir)/*$(sgr0)" - -$v if test -d $(DESTDIR)$(docdir); then \ - rm -rf $(DESTDIR)$(docdir);\ - fi - @echo "Deleting pkgconfig file: $(bo)$(DESTDIR)$(datadir)/pkgconfig/fish.pc$(sgr0)" - -$v if test -f $(DESTDIR)$(datadir)/pkgconfig/fish.pc; then \ - rm -f $(DESTDIR)$(datadir)/pkgconfig/fish.pc;\ - fi - @echo "Deleting [ $(bo)"$(notdir $(MANUALS))"$(sgr0) ] in $(em)$(mandir)/man1$(sgr0)" - -$v for i in $(notdir $(MANUALS)); do \ - rm -f "$(DESTDIR)$(mandir)/man1/$$i" ;\ - done - @echo - @echo "$(green)Fish (likely) uninstalled$(sgr0)" - @echo - @echo "$(bo)./configure --prefix=$(sgr0) to uninstall fish from a different prefix" -.PHONY: uninstall - -install-translations: $(TRANSLATIONS) | show-HAVE_GETTEXT -ifeq ($(HAVE_GETTEXT), 1) - @echo "Installing translations..." - $v for i in $(TRANSLATIONS); do \ - $(INSTALL) -m 755 -d $(DESTDIR)$(localedir)/`basename $$i .gmo`/LC_MESSAGES; \ - $(INSTALL) -m 644 $$i $(DESTDIR)$(localedir)/`basename $$i .gmo`/LC_MESSAGES/fish.mo; \ - done -endif -.PHONY: install-translations - -uninstall-translations: show-DESTDIR show-localedir - $v rm -f $(DESTDIR)$(localedir)/*/LC_MESSAGES/fish.mo -.PHONY: uninstall-translations - -install-doc: $(user_doc) - @echo "Installing online user documentation"; - $v $(INSTALL) -m 755 -d $(DESTDIR)$(docdir) - $v for i in user_doc/html/* CHANGELOG.md; do \ - if test -f $$i; then \ - $(INSTALL) -m 644 $$i $(DESTDIR)$(docdir); \ - fi; \ - done; - -# -# The build rules for all the commands -# - -# -# How basic files get compiled -# -obj/%.o: src/%.cpp | show-CXX show-CXXFLAGS show-CPPFLAGS obj - @echo " CXX $(em)$@$(sgr0)" - $v $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@ - -# -# obj directory -# -obj: | show-MKDIR_P - @echo " MKDIR_P $(em)$@$(sgr0)" - $v $(MKDIR_P) obj - -# -# Build the fish program. -# -fish: obj/fish.o $(FISH_OBJS) $(EXTRA_PCRE2) - @echo " CXX LD $(em)$@$(sgr0)" - $v $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS_FISH) $(FISH_OBJS) obj/fish.o $(LIBS) -o $@ - -$(PCRE2_LIB): $(PCRE2_H) - @echo " MAKE $(em)$@$(sgr0)" - $v $(MAKE) V=$(V) -C $(PCRE2_DIR) libpcre2-$(PCRE2_WIDTH).la - -$(PCRE2_H): - @echo " autoconf $(em)$@$(sgr0)" - $v (cd $(PCRE2_DIR) && ./config.status) - -# -# Build the fish_tests program. -# -fish_tests: $(FISH_TESTS_OBJS) $(EXTRA_PCRE2) - @echo " CXX LD $(em)$@$(sgr0)" - $v $(CXX) $(CXXFLAGS) $(LDFLAGS_FISH) $(FISH_TESTS_OBJS) $(LIBS) -o $@ - -# -# Build the fish_indent program. -# -fish_indent: $(FISH_INDENT_OBJS) $(EXTRA_PCRE2) - @echo " CXX LD $(em)$@$(sgr0)" - $v $(CXX) $(CXXFLAGS) $(LDFLAGS) $(FISH_INDENT_OBJS) $(LIBS) -o $@ - -# -# Build the fish_key_reader program to show input from the terminal. -# -fish_key_reader: $(FISH_KEYREAD_OBJS) $(EXTRA_PCRE2) - @echo " CXX LD $(em)$@$(sgr0)" - $v $(CXX) $(CXXFLAGS) $(LDFLAGS_FISH) $^ $(LIBS) -o $@ - -# -# Update dependencies -# Unfortunately makedepend cannot handle source files in one directory -# and object files in another. So we have to cons up a fake directory -# tree and run it there. Note that some .cpp files do not result in -# objects because they are #include'd directly. In that case we need to -# leave them in the 'header' directory, so they get picked up by the -# dependencies. So we put everything in the header directory and move out -# exactly the files that result in objects, leaving the #include'd files -# behind. -# -depend: | show-MKDIR_P - @echo " CXX LD $(em)$@$(sgr0)" - $v $(MKDIR_P) /tmp/fish_make_depend/src - # This is ran only once in a blue moon - full verbosity so we are reminded what it does. - cp $(wildcard src/*.cpp src/*.h) /tmp/fish_make_depend/src - cp config.h /tmp/fish_make_depend/ - mv $(subst obj/,/tmp/fish_make_depend/src/,$(FISH_ALL_OBJS:.o=.cpp)) /tmp/fish_make_depend/ - cd /tmp/fish_make_depend && makedepend -f$(CURDIR)/Makefile.in -pobj/ -Y -Isrc *.cpp - rm -Rf /tmp/fish_make_depend - $v ./config.status -.PHONY: depend - -# -# Lint the code. This only deals with C++ -# TODO - why not have the Makefile run lint.fish on actual files itself (generate a report target?) -# -lint: - $v build_tools/lint.fish -- $(CXXFLAGS) $(CPPFLAGS) -lint-all: - $v build_tools/lint.fish --all -- $(CXXFLAGS) $(CPPFLAGS) -.PHONY: lint lint-all - -# -# Run the code through the style refomatter. This handles both C++ files and -# fish scripts (*.fish). -# -style: - $v build_tools/style.fish -style-all: - $v build_tools/style.fish --all -.PHONY: style style-all - -# -# Restore the source tree to the state right after extracting a tarball. -# -distclean: clean - -$v test ! -f $(PCRE2_DIR)/Makefile || \ - $(MAKE) V=$(V) -C $(PCRE2_DIR) distclean - $v rm -rf config.status config.log config.h Makefile autom4te.cache aclocal.m4 -.PHONY: distclean - -# -# Remove everything built by the Makefile, but not things that are created by -# the configure script. -# -# Don't delete the docs unless we have Doxygen installed We provide pre-built -# docs in the tarball, and if they get deleted we won't be able to regenerate -# them. -# -clean: - @echo "$(bo)Removing everything built by the Makefile...$(sgr0)" -# PCRE's make clean has a few slightly annoying exceptions to the V= rule. If V=0 -# send all output to /dev/null - unless there's an error, in which case run it again not silenced. -ifeq ($(V), 0 ) - -@test ! -f $(PCRE2_DIR)/Makefile || \ - $(MAKE) -C $(PCRE2_DIR) clean -else - -@test ! -f $(PCRE2_DIR)/Makefile || \ - $(MAKE) -s -C $(PCRE2_DIR) clean > /dev/null || \ - $(MAKE) -s -C $(PCRE2_DIR) clean -endif - $v rm -f obj/*.o *.o doc.h doc.tmp - $v rm -f doc_src/*.doxygen doc_src/*.cpp doc_src/*.o doc_src/commands.hdr - $v rm -f tests/tmp.err tests/tmp.out tests/tmp.status tests/foo.txt - $v rm -f $(PROGRAMS) fish_tests fish_key_reader - $v rm -f command_list.txt command_list_toc.txt toc.txt - $v rm -f doc_src/index.hdr doc_src/commands.hdr - $v rm -f lexicon_filter lexicon.txt lexicon.log - $v rm -f compile_commands.json xcodebuild.log - $v rm -f FISH-BUILD-VERSION-FILE fish.pc share/__fish_build_paths.fish - $v if test "$(HAVE_DOXYGEN)" = 1; then \ - rm -rf doc user_doc share/man; \ - fi - $v rm -f po/*.gmo - $v rm -rf obj build test -.PHONY: clean - -# For silent build -# These rules need to stay at the end - $v won't work after this. -# if V=0: -# $v cmd ⇒ @cmd -V0 := @ -# if V=1 -# $v cmd ⇒ cmd -V1 := -v = $(V$(V)) - -# DO NOT DELETE THIS LINE -- `make depend` depends on it. - -obj/autoload.o: config.h src/autoload.h src/common.h src/fallback.h -obj/autoload.o: src/maybe.h src/signal.h src/env.h src/lru.h src/exec.h -obj/autoload.o: src/parser.h src/event.h src/io.h src/expand.h -obj/autoload.o: src/parse_constants.h src/parse_tree.h src/parse_grammar.h -obj/autoload.o: src/tokenizer.h src/proc.h src/enum_set.h src/tnode.h -obj/autoload.o: src/wutil.h -obj/builtin.o: config.h src/builtin.h src/common.h src/fallback.h src/maybe.h -obj/builtin.o: src/signal.h src/builtin_argparse.h src/builtin_bg.h -obj/builtin.o: src/builtin_bind.h src/builtin_block.h src/builtin_builtin.h -obj/builtin.o: src/builtin_cd.h src/builtin_command.h -obj/builtin.o: src/builtin_commandline.h src/builtin_complete.h -obj/builtin.o: src/builtin_contains.h src/builtin_disown.h src/builtin_echo.h -obj/builtin.o: src/builtin_emit.h src/builtin_exit.h src/builtin_fg.h -obj/builtin.o: src/builtin_functions.h src/builtin_history.h -obj/builtin.o: src/builtin_jobs.h src/builtin_math.h src/builtin_printf.h -obj/builtin.o: src/builtin_pwd.h src/builtin_random.h src/builtin_read.h -obj/builtin.o: src/builtin_realpath.h src/builtin_return.h src/builtin_set.h -obj/builtin.o: src/builtin_set_color.h src/builtin_source.h -obj/builtin.o: src/builtin_status.h src/builtin_string.h src/builtin_test.h -obj/builtin.o: src/builtin_ulimit.h src/builtin_wait.h src/complete.h -obj/builtin.o: src/exec.h src/intern.h src/io.h src/env.h -obj/builtin.o: src/parse_constants.h src/parse_util.h src/parse_tree.h -obj/builtin.o: src/parse_grammar.h src/tokenizer.h src/parser.h src/event.h -obj/builtin.o: src/expand.h src/proc.h src/enum_set.h src/tnode.h -obj/builtin.o: src/reader.h src/highlight.h src/color.h src/wgetopt.h -obj/builtin.o: src/wutil.h -obj/builtin_argparse.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_argparse.o: src/maybe.h src/signal.h src/builtin_argparse.h -obj/builtin_argparse.o: src/env.h src/exec.h src/io.h src/parser.h -obj/builtin_argparse.o: src/event.h src/expand.h src/parse_constants.h -obj/builtin_argparse.o: src/parse_tree.h src/parse_grammar.h src/tokenizer.h -obj/builtin_argparse.o: src/proc.h src/enum_set.h src/tnode.h src/wgetopt.h -obj/builtin_argparse.o: src/wutil.h -obj/builtin_bg.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_bg.o: src/maybe.h src/signal.h src/builtin_bg.h src/io.h -obj/builtin_bg.o: src/env.h src/proc.h src/enum_set.h src/parse_tree.h -obj/builtin_bg.o: src/parse_constants.h src/parse_grammar.h src/tokenizer.h -obj/builtin_bg.o: src/tnode.h src/wutil.h -obj/builtin_bind.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_bind.o: src/maybe.h src/signal.h src/builtin_bind.h src/input.h -obj/builtin_bind.o: src/io.h src/env.h src/wgetopt.h src/wutil.h -obj/builtin_block.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_block.o: src/maybe.h src/signal.h src/builtin_block.h src/event.h -obj/builtin_block.o: src/io.h src/env.h src/parser.h src/expand.h -obj/builtin_block.o: src/parse_constants.h src/parse_tree.h -obj/builtin_block.o: src/parse_grammar.h src/tokenizer.h src/proc.h -obj/builtin_block.o: src/enum_set.h src/tnode.h src/wgetopt.h src/wutil.h -obj/builtin_builtin.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_builtin.o: src/maybe.h src/signal.h src/builtin_builtin.h -obj/builtin_builtin.o: src/io.h src/env.h src/wgetopt.h src/wutil.h -obj/builtin_cd.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_cd.o: src/maybe.h src/signal.h src/builtin_cd.h src/env.h -obj/builtin_cd.o: src/io.h src/parser.h src/event.h src/expand.h -obj/builtin_cd.o: src/parse_constants.h src/parse_tree.h src/parse_grammar.h -obj/builtin_cd.o: src/tokenizer.h src/proc.h src/enum_set.h src/tnode.h -obj/builtin_cd.o: src/path.h src/wutil.h -obj/builtin_command.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_command.o: src/maybe.h src/signal.h src/builtin_command.h -obj/builtin_command.o: src/io.h src/env.h src/parser.h src/event.h -obj/builtin_command.o: src/expand.h src/parse_constants.h src/parse_tree.h -obj/builtin_command.o: src/parse_grammar.h src/tokenizer.h src/proc.h -obj/builtin_command.o: src/enum_set.h src/tnode.h src/path.h src/wgetopt.h -obj/builtin_command.o: src/wutil.h -obj/builtin_commandline.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_commandline.o: src/maybe.h src/signal.h src/input.h -obj/builtin_commandline.o: src/builtin_bind.h src/io.h src/env.h -obj/builtin_commandline.o: src/parse_util.h src/parse_tree.h -obj/builtin_commandline.o: src/parse_constants.h src/parse_grammar.h -obj/builtin_commandline.o: src/tokenizer.h src/proc.h src/enum_set.h -obj/builtin_commandline.o: src/tnode.h src/reader.h src/complete.h -obj/builtin_commandline.o: src/highlight.h src/color.h src/util.h -obj/builtin_commandline.o: src/wgetopt.h src/wutil.h -obj/builtin_complete.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_complete.o: src/maybe.h src/signal.h src/complete.h src/env.h -obj/builtin_complete.o: src/io.h src/parse_constants.h src/parse_util.h -obj/builtin_complete.o: src/parse_tree.h src/parse_grammar.h src/tokenizer.h -obj/builtin_complete.o: src/parser.h src/event.h src/expand.h src/proc.h -obj/builtin_complete.o: src/enum_set.h src/tnode.h src/reader.h -obj/builtin_complete.o: src/highlight.h src/color.h src/wgetopt.h src/wutil.h -obj/builtin_contains.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_contains.o: src/maybe.h src/signal.h src/builtin_contains.h -obj/builtin_contains.o: src/io.h src/env.h src/wgetopt.h src/wutil.h -obj/builtin_disown.o: config.h src/signal.h src/builtin.h src/common.h -obj/builtin_disown.o: src/fallback.h src/maybe.h src/builtin_disown.h -obj/builtin_disown.o: src/io.h src/env.h src/parser.h src/event.h -obj/builtin_disown.o: src/expand.h src/parse_constants.h src/parse_tree.h -obj/builtin_disown.o: src/parse_grammar.h src/tokenizer.h src/proc.h -obj/builtin_disown.o: src/enum_set.h src/tnode.h src/wutil.h -obj/builtin_echo.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_echo.o: src/maybe.h src/signal.h src/builtin_echo.h src/io.h -obj/builtin_echo.o: src/env.h src/wgetopt.h src/wutil.h -obj/builtin_emit.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_emit.o: src/maybe.h src/signal.h src/builtin_emit.h src/event.h -obj/builtin_emit.o: src/io.h src/env.h src/wutil.h -obj/builtin_exit.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_exit.o: src/maybe.h src/signal.h src/builtin_exit.h src/io.h -obj/builtin_exit.o: src/env.h src/proc.h src/enum_set.h src/parse_tree.h -obj/builtin_exit.o: src/parse_constants.h src/parse_grammar.h src/tokenizer.h -obj/builtin_exit.o: src/tnode.h src/reader.h src/complete.h src/highlight.h -obj/builtin_exit.o: src/color.h src/wgetopt.h src/wutil.h -obj/builtin_fg.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_fg.o: src/maybe.h src/signal.h src/builtin_fg.h src/env.h -obj/builtin_fg.o: src/io.h src/parser.h src/event.h src/expand.h -obj/builtin_fg.o: src/parse_constants.h src/parse_tree.h src/parse_grammar.h -obj/builtin_fg.o: src/tokenizer.h src/proc.h src/enum_set.h src/tnode.h -obj/builtin_fg.o: src/reader.h src/complete.h src/highlight.h src/color.h -obj/builtin_fg.o: src/wutil.h -obj/builtin_function.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_function.o: src/maybe.h src/signal.h src/builtin_function.h -obj/builtin_function.o: src/parse_tree.h src/parse_constants.h -obj/builtin_function.o: src/parse_grammar.h src/tokenizer.h src/complete.h -obj/builtin_function.o: src/event.h src/io.h src/env.h src/function.h -obj/builtin_function.o: src/tnode.h src/parser.h src/expand.h src/proc.h -obj/builtin_function.o: src/enum_set.h src/parser_keywords.h src/wgetopt.h -obj/builtin_function.o: src/wutil.h -obj/builtin_functions.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_functions.o: src/maybe.h src/signal.h src/builtin_functions.h -obj/builtin_functions.o: src/env.h src/event.h src/io.h src/function.h -obj/builtin_functions.o: src/parse_tree.h src/parse_constants.h -obj/builtin_functions.o: src/parse_grammar.h src/tokenizer.h src/tnode.h -obj/builtin_functions.o: src/parser_keywords.h src/proc.h src/enum_set.h -obj/builtin_functions.o: src/wgetopt.h src/wutil.h -obj/builtin_history.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_history.o: src/maybe.h src/signal.h src/builtin_history.h -obj/builtin_history.o: src/history.h src/wutil.h src/io.h src/env.h -obj/builtin_history.o: src/parser.h src/event.h src/expand.h -obj/builtin_history.o: src/parse_constants.h src/parse_tree.h -obj/builtin_history.o: src/parse_grammar.h src/tokenizer.h src/proc.h -obj/builtin_history.o: src/enum_set.h src/tnode.h src/reader.h src/complete.h -obj/builtin_history.o: src/highlight.h src/color.h src/wgetopt.h -obj/builtin_jobs.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_jobs.o: src/maybe.h src/signal.h src/io.h src/env.h src/proc.h -obj/builtin_jobs.o: src/enum_set.h src/parse_tree.h src/parse_constants.h -obj/builtin_jobs.o: src/parse_grammar.h src/tokenizer.h src/tnode.h -obj/builtin_jobs.o: src/wgetopt.h src/wutil.h -obj/builtin_math.o: config.h src/tinyexpr.h src/builtin.h src/common.h -obj/builtin_math.o: src/fallback.h src/maybe.h src/signal.h -obj/builtin_math.o: src/builtin_math.h src/io.h src/env.h src/wgetopt.h -obj/builtin_math.o: src/wutil.h -obj/builtin_printf.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_printf.o: src/maybe.h src/signal.h src/io.h src/env.h src/wutil.h -obj/builtin_pwd.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_pwd.o: src/maybe.h src/signal.h src/builtin_pwd.h src/io.h -obj/builtin_pwd.o: src/env.h src/parser.h src/event.h src/expand.h -obj/builtin_pwd.o: src/parse_constants.h src/parse_tree.h src/parse_grammar.h -obj/builtin_pwd.o: src/tokenizer.h src/proc.h src/enum_set.h src/tnode.h -obj/builtin_pwd.o: src/wgetopt.h src/wutil.h -obj/builtin_random.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_random.o: src/maybe.h src/signal.h src/builtin_random.h src/io.h -obj/builtin_random.o: src/env.h src/wutil.h -obj/builtin_read.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_read.o: src/maybe.h src/signal.h src/builtin_read.h -obj/builtin_read.o: src/complete.h src/env.h src/event.h src/io.h -obj/builtin_read.o: src/highlight.h src/color.h src/history.h src/wutil.h -obj/builtin_read.o: src/parser.h src/expand.h src/parse_constants.h -obj/builtin_read.o: src/parse_tree.h src/parse_grammar.h src/tokenizer.h -obj/builtin_read.o: src/proc.h src/enum_set.h src/tnode.h src/reader.h -obj/builtin_read.o: src/wcstringutil.h src/wgetopt.h -obj/builtin_realpath.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_realpath.o: src/maybe.h src/signal.h src/builtin_realpath.h -obj/builtin_realpath.o: src/io.h src/env.h src/wutil.h -obj/builtin_return.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_return.o: src/maybe.h src/signal.h src/builtin_return.h src/io.h -obj/builtin_return.o: src/env.h src/parser.h src/event.h src/expand.h -obj/builtin_return.o: src/parse_constants.h src/parse_tree.h -obj/builtin_return.o: src/parse_grammar.h src/tokenizer.h src/proc.h -obj/builtin_return.o: src/enum_set.h src/tnode.h src/wgetopt.h src/wutil.h -obj/builtin_set.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_set.o: src/maybe.h src/signal.h src/env.h src/expand.h -obj/builtin_set.o: src/parse_constants.h src/io.h src/parser.h src/event.h -obj/builtin_set.o: src/parse_tree.h src/parse_grammar.h src/tokenizer.h -obj/builtin_set.o: src/proc.h src/enum_set.h src/tnode.h src/wgetopt.h -obj/builtin_set.o: src/wutil.h -obj/builtin_set_color.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_set_color.o: src/maybe.h src/signal.h src/color.h src/env.h -obj/builtin_set_color.o: src/io.h src/output.h src/parser.h src/event.h -obj/builtin_set_color.o: src/expand.h src/parse_constants.h src/parse_tree.h -obj/builtin_set_color.o: src/parse_grammar.h src/tokenizer.h src/proc.h -obj/builtin_set_color.o: src/enum_set.h src/tnode.h src/wgetopt.h src/wutil.h -obj/builtin_source.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_source.o: src/maybe.h src/signal.h src/builtin_source.h src/env.h -obj/builtin_source.o: src/intern.h src/io.h src/parser.h src/event.h -obj/builtin_source.o: src/expand.h src/parse_constants.h src/parse_tree.h -obj/builtin_source.o: src/parse_grammar.h src/tokenizer.h src/proc.h -obj/builtin_source.o: src/enum_set.h src/tnode.h src/reader.h src/complete.h -obj/builtin_source.o: src/highlight.h src/color.h src/wutil.h -obj/builtin_status.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_status.o: src/maybe.h src/signal.h src/builtin_status.h -obj/builtin_status.o: src/future_feature_flags.h src/io.h src/env.h -obj/builtin_status.o: src/parser.h src/event.h src/expand.h -obj/builtin_status.o: src/parse_constants.h src/parse_tree.h -obj/builtin_status.o: src/parse_grammar.h src/tokenizer.h src/proc.h -obj/builtin_status.o: src/enum_set.h src/tnode.h src/wgetopt.h src/wutil.h -obj/builtin_string.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_string.o: src/maybe.h src/signal.h src/io.h src/env.h -obj/builtin_string.o: src/parse_util.h src/parse_tree.h src/parse_constants.h -obj/builtin_string.o: src/parse_grammar.h src/tokenizer.h src/wcstringutil.h -obj/builtin_string.o: src/wgetopt.h src/wildcard.h src/complete.h -obj/builtin_string.o: src/expand.h src/wutil.h -obj/builtin_test.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_test.o: src/maybe.h src/signal.h src/io.h src/env.h src/wutil.h -obj/builtin_ulimit.o: config.h src/builtin.h src/common.h src/fallback.h -obj/builtin_ulimit.o: src/maybe.h src/signal.h src/io.h src/env.h src/util.h -obj/builtin_ulimit.o: src/wgetopt.h src/wutil.h -obj/builtin_wait.o: src/builtin.h src/common.h config.h src/fallback.h -obj/builtin_wait.o: src/maybe.h src/signal.h src/builtin_wait.h src/proc.h -obj/builtin_wait.o: src/enum_set.h src/io.h src/env.h src/parse_tree.h -obj/builtin_wait.o: src/parse_constants.h src/parse_grammar.h src/tokenizer.h -obj/builtin_wait.o: src/tnode.h src/wgetopt.h src/wutil.h -obj/color.o: config.h src/color.h src/common.h src/fallback.h src/maybe.h -obj/color.o: src/signal.h -obj/common.o: config.h src/common.h src/fallback.h src/maybe.h src/signal.h -obj/common.o: src/env.h src/expand.h src/parse_constants.h -obj/common.o: src/future_feature_flags.h src/proc.h src/enum_set.h src/io.h -obj/common.o: src/parse_tree.h src/parse_grammar.h src/tokenizer.h -obj/common.o: src/tnode.h src/wildcard.h src/complete.h src/wutil.h -obj/complete.o: config.h src/autoload.h src/common.h src/fallback.h -obj/complete.o: src/maybe.h src/signal.h src/env.h src/lru.h src/builtin.h -obj/complete.o: src/complete.h src/exec.h src/expand.h src/parse_constants.h -obj/complete.o: src/function.h src/event.h src/io.h src/parse_tree.h -obj/complete.o: src/parse_grammar.h src/tokenizer.h src/tnode.h -obj/complete.o: src/iothread.h src/parse_util.h src/parser.h src/proc.h -obj/complete.o: src/enum_set.h src/path.h src/reader.h src/highlight.h -obj/complete.o: src/color.h src/util.h src/wildcard.h src/wutil.h -obj/env.o: config.h src/builtin_bind.h src/common.h src/fallback.h -obj/env.o: src/maybe.h src/signal.h src/complete.h src/env.h -obj/env.o: src/env_universal_common.h src/wutil.h src/event.h src/io.h -obj/env.o: src/expand.h src/parse_constants.h src/fish_version.h -obj/env.o: src/function.h src/parse_tree.h src/parse_grammar.h -obj/env.o: src/tokenizer.h src/tnode.h src/history.h src/input.h -obj/env.o: src/input_common.h src/output.h src/color.h src/path.h src/proc.h -obj/env.o: src/enum_set.h src/reader.h src/highlight.h src/sanity.h -obj/env.o: src/screen.h -obj/env_universal_common.o: config.h src/common.h src/fallback.h src/maybe.h -obj/env_universal_common.o: src/signal.h src/env.h src/env_universal_common.h -obj/env_universal_common.o: src/wutil.h src/path.h src/utf8.h src/util.h -obj/env_universal_common.o: src/wcstringutil.h -obj/event.o: config.h src/signal.h src/common.h src/fallback.h src/maybe.h -obj/event.o: src/event.h src/io.h src/env.h src/input_common.h src/parser.h -obj/event.o: src/expand.h src/parse_constants.h src/parse_tree.h -obj/event.o: src/parse_grammar.h src/tokenizer.h src/proc.h src/enum_set.h -obj/event.o: src/tnode.h src/wutil.h -obj/exec.o: config.h src/signal.h src/builtin.h src/common.h src/fallback.h -obj/exec.o: src/maybe.h src/env.h src/exec.h src/function.h src/event.h -obj/exec.o: src/io.h src/parse_tree.h src/parse_constants.h -obj/exec.o: src/parse_grammar.h src/tokenizer.h src/tnode.h src/parser.h -obj/exec.o: src/expand.h src/proc.h src/enum_set.h src/postfork.h -obj/exec.o: src/reader.h src/complete.h src/highlight.h src/color.h -obj/exec.o: src/wutil.h -obj/expand.o: config.h src/common.h src/fallback.h src/maybe.h src/signal.h -obj/expand.o: src/complete.h src/env.h src/exec.h src/expand.h -obj/expand.o: src/parse_constants.h src/history.h src/wutil.h src/iothread.h -obj/expand.o: src/parse_util.h src/parse_tree.h src/parse_grammar.h -obj/expand.o: src/tokenizer.h src/parser.h src/event.h src/io.h src/proc.h -obj/expand.o: src/enum_set.h src/tnode.h src/path.h src/reader.h -obj/expand.o: src/highlight.h src/color.h src/wcstringutil.h src/wildcard.h -obj/fallback.o: config.h src/signal.h src/common.h src/fallback.h src/maybe.h -obj/fallback.o: src/util.h -obj/fish.o: config.h src/builtin.h src/common.h src/fallback.h src/maybe.h -obj/fish.o: src/signal.h src/env.h src/event.h src/io.h src/expand.h -obj/fish.o: src/parse_constants.h src/fish_version.h src/function.h -obj/fish.o: src/parse_tree.h src/parse_grammar.h src/tokenizer.h src/tnode.h -obj/fish.o: src/future_feature_flags.h src/history.h src/wutil.h src/parser.h -obj/fish.o: src/proc.h src/enum_set.h src/path.h src/reader.h src/complete.h -obj/fish.o: src/highlight.h src/color.h -obj/fish_indent.o: config.h src/color.h src/common.h src/fallback.h -obj/fish_indent.o: src/maybe.h src/signal.h src/env.h src/fish_version.h -obj/fish_indent.o: src/highlight.h src/output.h src/parse_constants.h -obj/fish_indent.o: src/print_help.h src/tnode.h src/parse_grammar.h -obj/fish_indent.o: src/tokenizer.h src/parse_tree.h src/wutil.h -obj/fish_key_reader.o: config.h src/signal.h src/common.h src/fallback.h -obj/fish_key_reader.o: src/maybe.h src/env.h src/fish_version.h src/input.h -obj/fish_key_reader.o: src/builtin_bind.h src/input_common.h src/print_help.h -obj/fish_key_reader.o: src/proc.h src/enum_set.h src/io.h src/parse_tree.h -obj/fish_key_reader.o: src/parse_constants.h src/parse_grammar.h -obj/fish_key_reader.o: src/tokenizer.h src/tnode.h src/reader.h -obj/fish_key_reader.o: src/complete.h src/highlight.h src/color.h src/wutil.h -obj/fish_tests.o: config.h src/signal.h src/builtin.h src/common.h -obj/fish_tests.o: src/fallback.h src/maybe.h src/color.h src/complete.h -obj/fish_tests.o: src/env.h src/env_universal_common.h src/wutil.h -obj/fish_tests.o: src/event.h src/io.h src/expand.h src/parse_constants.h -obj/fish_tests.o: src/function.h src/parse_tree.h src/parse_grammar.h -obj/fish_tests.o: src/tokenizer.h src/tnode.h src/future_feature_flags.h -obj/fish_tests.o: src/highlight.h src/history.h src/input.h -obj/fish_tests.o: src/builtin_bind.h src/input_common.h src/iothread.h -obj/fish_tests.o: src/lru.h src/pager.h src/reader.h src/screen.h -obj/fish_tests.o: src/parse_util.h src/parser.h src/proc.h src/enum_set.h -obj/fish_tests.o: src/path.h src/utf8.h src/util.h src/wcstringutil.h -obj/fish_tests.o: src/wildcard.h -obj/fish_version.o: src/fish_version.h -obj/function.o: config.h src/autoload.h src/common.h src/fallback.h -obj/function.o: src/maybe.h src/signal.h src/env.h src/lru.h src/event.h -obj/function.o: src/io.h src/function.h src/parse_tree.h -obj/function.o: src/parse_constants.h src/parse_grammar.h src/tokenizer.h -obj/function.o: src/tnode.h src/intern.h src/parser.h src/expand.h src/proc.h -obj/function.o: src/enum_set.h src/parser_keywords.h src/reader.h -obj/function.o: src/complete.h src/highlight.h src/color.h src/wutil.h -obj/future_feature_flags.o: config.h src/future_feature_flags.h src/common.h -obj/future_feature_flags.o: src/fallback.h src/maybe.h src/signal.h -obj/highlight.o: config.h src/builtin.h src/common.h src/fallback.h -obj/highlight.o: src/maybe.h src/signal.h src/color.h src/env.h src/expand.h -obj/highlight.o: src/parse_constants.h src/function.h src/event.h src/io.h -obj/highlight.o: src/parse_tree.h src/parse_grammar.h src/tokenizer.h -obj/highlight.o: src/tnode.h src/future_feature_flags.h src/highlight.h -obj/highlight.o: src/history.h src/wutil.h src/output.h src/parse_util.h -obj/highlight.o: src/path.h src/wildcard.h src/complete.h -obj/history.o: config.h src/common.h src/fallback.h src/maybe.h src/signal.h -obj/history.o: src/env.h src/history.h src/wutil.h src/io.h src/iothread.h -obj/history.o: src/lru.h src/parser.h src/event.h src/expand.h -obj/history.o: src/parse_constants.h src/parse_tree.h src/parse_grammar.h -obj/history.o: src/tokenizer.h src/proc.h src/enum_set.h src/tnode.h -obj/history.o: src/parse_util.h src/path.h src/reader.h src/complete.h -obj/history.o: src/highlight.h src/color.h src/wcstringutil.h src/wildcard.h -obj/input.o: config.h src/common.h src/fallback.h src/maybe.h src/signal.h -obj/input.o: src/env.h src/event.h src/io.h src/input.h src/builtin_bind.h -obj/input.o: src/input_common.h src/parser.h src/expand.h -obj/input.o: src/parse_constants.h src/parse_tree.h src/parse_grammar.h -obj/input.o: src/tokenizer.h src/proc.h src/enum_set.h src/tnode.h -obj/input.o: src/reader.h src/complete.h src/highlight.h src/color.h -obj/input.o: src/wutil.h -obj/input_common.o: config.h src/common.h src/fallback.h src/maybe.h -obj/input_common.o: src/signal.h src/env.h src/env_universal_common.h -obj/input_common.o: src/wutil.h src/input_common.h src/iothread.h src/util.h -obj/intern.o: config.h src/common.h src/fallback.h src/maybe.h src/signal.h -obj/intern.o: src/intern.h -obj/io.o: config.h src/common.h src/fallback.h src/maybe.h src/signal.h -obj/io.o: src/exec.h src/io.h src/env.h src/wutil.h -obj/iothread.o: config.h src/signal.h src/common.h src/fallback.h src/maybe.h -obj/iothread.o: src/iothread.h src/wutil.h -obj/kill.o: config.h src/common.h src/fallback.h src/maybe.h src/signal.h -obj/output.o: config.h src/color.h src/common.h src/fallback.h src/maybe.h -obj/output.o: src/signal.h src/env.h src/output.h src/wutil.h -obj/pager.o: config.h src/common.h src/fallback.h src/maybe.h src/signal.h -obj/pager.o: src/complete.h src/highlight.h src/color.h src/env.h src/pager.h -obj/pager.o: src/reader.h src/parse_constants.h src/screen.h src/util.h -obj/pager.o: src/wutil.h -obj/parse_execution.o: config.h src/builtin.h src/common.h src/fallback.h -obj/parse_execution.o: src/maybe.h src/signal.h src/builtin_function.h -obj/parse_execution.o: src/parse_tree.h src/parse_constants.h -obj/parse_execution.o: src/parse_grammar.h src/tokenizer.h src/complete.h -obj/parse_execution.o: src/env.h src/event.h src/io.h src/exec.h src/expand.h -obj/parse_execution.o: src/function.h src/tnode.h src/parse_execution.h -obj/parse_execution.o: src/proc.h src/enum_set.h src/parse_util.h -obj/parse_execution.o: src/parser.h src/path.h src/reader.h src/highlight.h -obj/parse_execution.o: src/color.h src/util.h src/wildcard.h src/wutil.h -obj/parse_productions.o: config.h src/common.h src/fallback.h src/maybe.h -obj/parse_productions.o: src/signal.h src/parse_constants.h -obj/parse_productions.o: src/parse_grammar.h src/tokenizer.h -obj/parse_productions.o: src/parse_productions.h src/parse_tree.h -obj/parse_tree.o: config.h src/common.h src/fallback.h src/maybe.h -obj/parse_tree.o: src/signal.h src/parse_constants.h src/parse_productions.h -obj/parse_tree.o: src/parse_tree.h src/parse_grammar.h src/tokenizer.h -obj/parse_tree.o: src/proc.h src/enum_set.h src/io.h src/env.h src/tnode.h -obj/parse_tree.o: src/wutil.h -obj/parse_util.o: config.h src/builtin.h src/common.h src/fallback.h -obj/parse_util.o: src/maybe.h src/signal.h src/expand.h src/parse_constants.h -obj/parse_util.o: src/future_feature_flags.h src/parse_util.h -obj/parse_util.o: src/parse_tree.h src/parse_grammar.h src/tokenizer.h -obj/parse_util.o: src/parser.h src/event.h src/io.h src/env.h src/proc.h -obj/parse_util.o: src/enum_set.h src/tnode.h src/util.h src/wildcard.h -obj/parse_util.o: src/complete.h src/wutil.h -obj/parser.o: config.h src/common.h src/fallback.h src/maybe.h src/signal.h -obj/parser.o: src/env.h src/event.h src/io.h src/expand.h -obj/parser.o: src/parse_constants.h src/function.h src/parse_tree.h -obj/parser.o: src/parse_grammar.h src/tokenizer.h src/tnode.h src/intern.h -obj/parser.o: src/parse_execution.h src/proc.h src/enum_set.h -obj/parser.o: src/parse_util.h src/parser.h src/reader.h src/complete.h -obj/parser.o: src/highlight.h src/color.h src/sanity.h src/wutil.h -obj/parser_keywords.o: config.h src/common.h src/fallback.h src/maybe.h -obj/parser_keywords.o: src/signal.h src/parser_keywords.h -obj/path.o: config.h src/common.h src/fallback.h src/maybe.h src/signal.h -obj/path.o: src/env.h src/expand.h src/parse_constants.h src/path.h -obj/path.o: src/wutil.h -obj/postfork.o: config.h src/signal.h src/common.h src/fallback.h src/maybe.h -obj/postfork.o: src/exec.h src/io.h src/env.h src/iothread.h src/postfork.h -obj/postfork.o: src/proc.h src/enum_set.h src/parse_tree.h -obj/postfork.o: src/parse_constants.h src/parse_grammar.h src/tokenizer.h -obj/postfork.o: src/tnode.h src/wutil.h -obj/print_help.o: config.h src/common.h src/fallback.h src/maybe.h -obj/print_help.o: src/signal.h src/print_help.h -obj/proc.o: config.h src/signal.h src/common.h src/fallback.h src/maybe.h -obj/proc.o: src/event.h src/io.h src/env.h src/output.h src/color.h -obj/proc.o: src/parse_tree.h src/parse_constants.h src/parse_grammar.h -obj/proc.o: src/tokenizer.h src/parser.h src/expand.h src/proc.h -obj/proc.o: src/enum_set.h src/tnode.h src/reader.h src/complete.h -obj/proc.o: src/highlight.h src/sanity.h src/util.h src/wutil.h -obj/reader.o: config.h src/signal.h src/color.h src/common.h src/fallback.h -obj/reader.o: src/maybe.h src/complete.h src/env.h src/event.h src/io.h -obj/reader.o: src/exec.h src/expand.h src/parse_constants.h src/function.h -obj/reader.o: src/parse_tree.h src/parse_grammar.h src/tokenizer.h -obj/reader.o: src/tnode.h src/highlight.h src/history.h src/wutil.h -obj/reader.o: src/input.h src/builtin_bind.h src/input_common.h src/intern.h -obj/reader.o: src/iothread.h src/kill.h src/output.h src/pager.h src/reader.h -obj/reader.o: src/screen.h src/parse_util.h src/parser.h src/proc.h -obj/reader.o: src/enum_set.h src/sanity.h src/util.h -obj/sanity.o: config.h src/common.h src/fallback.h src/maybe.h src/signal.h -obj/sanity.o: src/history.h src/wutil.h src/kill.h src/proc.h src/enum_set.h -obj/sanity.o: src/io.h src/env.h src/parse_tree.h src/parse_constants.h -obj/sanity.o: src/parse_grammar.h src/tokenizer.h src/tnode.h src/reader.h -obj/sanity.o: src/complete.h src/highlight.h src/color.h src/sanity.h -obj/screen.o: config.h src/common.h src/fallback.h src/maybe.h src/signal.h -obj/screen.o: src/env.h src/highlight.h src/color.h src/output.h src/pager.h -obj/screen.o: src/complete.h src/reader.h src/parse_constants.h src/screen.h -obj/screen.o: src/util.h -obj/signal.o: config.h src/signal.h src/common.h src/fallback.h src/maybe.h -obj/signal.o: src/event.h src/io.h src/env.h src/parser.h src/expand.h -obj/signal.o: src/parse_constants.h src/parse_tree.h src/parse_grammar.h -obj/signal.o: src/tokenizer.h src/proc.h src/enum_set.h src/tnode.h -obj/signal.o: src/reader.h src/complete.h src/highlight.h src/color.h -obj/signal.o: src/wutil.h -obj/tinyexpr.o: src/tinyexpr.h -obj/tnode.o: src/tnode.h src/parse_grammar.h src/parse_constants.h -obj/tnode.o: src/common.h config.h src/fallback.h src/maybe.h src/signal.h -obj/tnode.o: src/tokenizer.h src/parse_tree.h -obj/tokenizer.o: config.h src/common.h src/fallback.h src/maybe.h -obj/tokenizer.o: src/signal.h src/future_feature_flags.h src/tokenizer.h -obj/tokenizer.o: src/parse_constants.h src/wutil.h -obj/utf8.o: config.h src/common.h src/fallback.h src/maybe.h src/signal.h -obj/utf8.o: src/utf8.h -obj/util.o: config.h src/common.h src/fallback.h src/maybe.h src/signal.h -obj/util.o: src/util.h src/wutil.h -obj/wcstringutil.o: config.h src/common.h src/fallback.h src/maybe.h -obj/wcstringutil.o: src/signal.h src/wcstringutil.h -obj/wgetopt.o: config.h src/common.h src/fallback.h src/maybe.h src/signal.h -obj/wgetopt.o: src/wgetopt.h src/wutil.h -obj/wildcard.o: config.h src/common.h src/fallback.h src/maybe.h src/signal.h -obj/wildcard.o: src/complete.h src/expand.h src/parse_constants.h -obj/wildcard.o: src/future_feature_flags.h src/reader.h src/highlight.h -obj/wildcard.o: src/color.h src/env.h src/wildcard.h src/wutil.h -obj/wutil.o: config.h src/common.h src/fallback.h src/maybe.h src/signal.h -obj/wutil.o: src/wutil.h diff --git a/README.md b/README.md index d91d43d75..8c9918a0f 100644 --- a/README.md +++ b/README.md @@ -101,16 +101,14 @@ To switch your default shell back, you can run `chsh -s /bin/bash` (substituting Compiling fish requires: * a C++11 compiler (g++ 4.8 or later, or clang 3.3 or later) -* any of CMake, GNU Make, or (on macOS only) Xcode +* CMake (version 3.2 or later) * a curses implementation such as ncurses (headers and libraries) * PCRE2 (headers and libraries) - a copy is included with fish * gettext (headers and libraries) - optional, for translation support -Additionally, if compiling fish with GNU Make from git (that is, not from an officially released tarball), `autoconf` 2.60+ and `automake` 1.13+ are required. Doxygen (1.8.7 or later) is also optionally required to build the documentation from a cloned git repository. +Doxygen (1.8.7 or later) is also optionally required to build the documentation from a cloned git repository. -### Building from source (all platforms) - -#### Using CMake (preferred) +### Building from source (all platforms) - Makefile generator ```bash mkdir build; cd build @@ -119,22 +117,22 @@ make sudo make install ``` -#### Using autotools +### Building from source (macOS) - Xcode ```bash -autoreconf --no-recursive #if building from Git -./configure -make -sudo make install +mkdir build; cd build +cmake .. -G Xcode ``` +An Xcode project will now be available in the `build` subdirectory. + ### Help, it didn't build! If fish reports that it could not find curses, try installing a curses development package and build again. On Debian or Ubuntu you want: - sudo apt-get install build-essential ncurses-dev libncurses5-dev gettext autoconf + sudo apt-get install build-essential cmake ncurses-dev libncurses5-dev libpcre2-dev gettext On RedHat, CentOS, or Amazon EC2: diff --git a/config.guess b/config.guess deleted file mode 100755 index f7eb141e7..000000000 --- a/config.guess +++ /dev/null @@ -1,1438 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2015 Free Software Foundation, Inc. - -timestamp='2015-03-04' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 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 . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. -# -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD -# -# Please send patches to . - - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright 1992-2015 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -case "${UNAME_SYSTEM}" in -Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu - - eval $set_cc_for_build - cat <<-EOF > $dummy.c - #include - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #else - LIBC=gnu - #endif - EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` - ;; -esac - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - /sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || \ - echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - earmv*) - arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` - machine=${arch}${endian}-unknown - ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # Determine ABI tags. - case "${UNAME_MACHINE_ARCH}" in - earm*) - expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}${abi}" - exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/lslpp ] ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case ${UNAME_PROCESSOR} in - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW64*:*) - echo ${UNAME_MACHINE}-pc-mingw64 - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - *:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="gnulibc1" ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi - else - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf - fi - fi - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - e2k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } - ;; - openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} - exit ;; - or32:Linux:*:* | or1k*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-${LIBC} - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; - esac - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} - exit ;; - ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-${LIBC} - exit ;; - ppcle:Linux:*:*) - echo powerpcle-unknown-linux-${LIBC} - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} - exit ;; - x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval $set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc - fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 - fi - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} - exit ;; - NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; - x86_64:VMkernel:*:*) - echo ${UNAME_MACHINE}-unknown-esx - exit ;; -esac - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/config.sub b/config.sub deleted file mode 100755 index 8f1229c6f..000000000 --- a/config.sub +++ /dev/null @@ -1,1810 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright 1992-2015 Free Software Foundation, Inc. - -timestamp='2015-03-08' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 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 . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches to . -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright 1992-2015 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze*) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*178) - os=-lynxos178 - ;; - -lynx*5) - os=-lynxos5 - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | be32 | be64 \ - | bfin \ - | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | epiphany \ - | fido | fr30 | frv | ft32 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pyramid \ - | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | visium \ - | we32k \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - leon|leon[3-9]) - basic_machine=sparc-$basic_machine - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none - ;; - xscaleeb) - basic_machine=armeb-unknown - ;; - - xscaleel) - basic_machine=armel-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pyramid-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | visium-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - asmjs) - basic_machine=asmjs-unknown - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - leon-*|leon[3-9]-*) - basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=-rdos - ;; - rdos32) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - strongarm-* | thumb-*) - basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tile*) - basic_machine=$basic_machine-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - xscale-* | xscalee[bl]-*) - basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux - ;; - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* | -cloudabi* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -nacl*) - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - c8051-*) - os=-elf - ;; - hexagon-*) - os=-elf - ;; - tic54x-*) - os=-coff - ;; - tic55x-*) - os=-coff - ;; - tic6x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -cnk*|-aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/configure.ac b/configure.ac deleted file mode 100644 index 77be63258..000000000 --- a/configure.ac +++ /dev/null @@ -1,744 +0,0 @@ -# -# This file is the main build configuration file for fish. It is used -# to determine your systems capabilities, and tries to adapt fish to -# take maximum advantage of the services your system offers. -# -# Process this file using the 'autoconf' command to produce a working -# configure script, which should in turn be executed in order to -# configure the build process. -# - -m4_syscmd([build_tools/git_version_gen.sh 2>/dev/null]) - -AC_PREREQ([2.60]) -AC_INIT(fish, - m4_esyscmd([cut -f 2 -d '=' FISH-BUILD-VERSION-FILE | tr -d '"\n']), - https://github.com/fish-shell/fish-shell/issues) -ac_clean_files=a.out.dSYM - -# -# List of output variables produced by this configure script -# - -AC_SUBST(HAVE_GETTEXT) -AC_SUBST(HAVE_DOXYGEN) -AC_SUBST(LDFLAGS_FISH) -AC_SUBST(WCHAR_T_BITS) -AC_SUBST(EXTRA_PCRE2) -AC_SUBST(HAVE_BROKEN_WCWIDTH) - -# -# If needed, run autoconf to regenerate the configure file -# -# This makes sure that after running autoconf once to create the first -# version of configure, we never again need to worry about manually -# running autoconf to handle an updates configure.ac. -# - -AC_MSG_CHECKING([if autoreconf needs to be run]) -if test configure -ot configure.ac; then - AC_MSG_RESULT([yes]) - if command -v autoreconf >/dev/null; then - # No need to provide any error messages if autoreconf fails, the - # shell and autconf should take care of that themselves - AC_MSG_NOTICE([running autoreconf --no-recursive]) - if autoreconf --no-recursive; then - ./configure "$@" - exit - fi - exit 1 - else - AC_MSG_ERROR( - [cannot find the autoreconf program in your path. -This program needs to be run whenever the configure.ac file is modified. -Please install autoreconf and try again.] - ) - fi -else - AC_MSG_RESULT([no]) -fi - - -# -# If needed, run autoheader to regenerate config.h.in -# -# This makes sure we never ever have to run autoheader manually. It -# will be run whenever needed automatically. -# - -AC_MSG_CHECKING([if autoheader needs to be run]) -if test ! -f ./config.h.in -o config.h.in -ot configure.ac; then - AC_MSG_RESULT([yes]) - if command -v autoheader >/dev/null; then - AC_MSG_NOTICE([running autoheader]) - autoheader || exit 1 - else - AC_MSG_ERROR( - [cannot find the autoheader program in your path. -This program needs to be run whenever the configure.ac file is modified. -Please install autotools and try again.] - ) - fi -else - AC_MSG_RESULT([no]) -fi - -# -# Include the autoconf macros directory -# - -AC_CONFIG_MACRO_DIRS([m4]) - -# -# Set up various programs needed for install -# Note AC_PROG_CXX sets CXXFLAGS if not set, which we want -# So ensure this happens before we modify CXXFLAGS below -# Do CC also, because PCRE2 will use it. -AC_PROG_CC -AC_PROG_CC_STDC # c99 -AC_PROG_CXX -AC_LANG(C++) -AC_PROG_INSTALL -AC_PROG_LN_S -AC_PROG_MKDIR_P -AC_PROG_AWK -AC_PROG_FGREP -AC_PROG_SED -AC_USE_SYSTEM_EXTENSIONS -AX_CXX_COMPILE_STDCXX_11(noext,mandatory) - -# -# Tell autoconf to create config.h header -# -AC_CONFIG_HEADERS(config.h) -AC_CANONICAL_HOST - - -# -# This adds markup to the code that results in a few extra compile -# time checks on recent GCC versions. It helps stop a few common bugs. -# - -AH_BOTTOM([#if __GNUC__ >= 3 -#ifndef __warn_unused -#define __warn_unused __attribute__ ((warn_unused_result)) -#endif -#ifndef __sentinel -#define __sentinel __attribute__ ((sentinel)) -#endif -#ifndef __packed -#define __packed __attribute__ ((packed)) -#endif -#else -#define __warn_unused -#define __sentinel -#define __packed -#endif]) - - -# -# Optionally drop gettext support -# - -AC_ARG_WITH( - gettext, - AS_HELP_STRING( - [--without-gettext], - [do not translate messages, even if gettext is available] - ), - [local_gettext=$withval], - [local_gettext=check] -) - -AS_IF([test x$local_gettext != xno], - [ AC_CHECK_PROGS( [found_msgfmt], [msgfmt], [no] ) - if test x$found_msgfmt != xno; then - AC_DEFINE([USE_GETTEXT],[1],[Perform string translations with gettext]) - elif test "x$local_gettext" != "xcheck" ; then - AC_MSG_FAILURE([--with-gettext was given, but the msgfmt program could not be found]) - else - local_gettext=no - fi - ], -) - -# -# Build/clean the documentation only if Doxygen is available -# - -doxygen_minimum=1.8.7 - -AC_ARG_WITH( - doxygen, - AS_HELP_STRING( - [--with-doxygen], - [use Doxygen to regenerate documentation] - ), - [use_doxygen=$withval], - [use_doxygen=auto] -) - -AS_IF([test "$use_doxygen" != "no"], - [ - AC_CHECK_PROGS([found_doxygen], [doxygen], [no]) - if test "$found_doxygen" != no; then - # test version - AC_MSG_CHECKING([the doxygen version]) - doxygen_version=`doxygen --version 2>/dev/null` - AC_MSG_RESULT([$doxygen_version]) - dnl This requires autoconf 2.60 or newer - AS_VERSION_COMPARE([$doxygen_version], [$doxygen_minimum], - [ if test "$use_doxygen" = auto; then - AC_MSG_WARN([doxygen version $doxygen_version found, but $doxygen_minimum required]) - HAVE_DOXYGEN=0 - else - AC_MSG_FAILURE([doxygen version $doxygen_version found, but $doxygen_minimum required]) - fi - ], - [HAVE_DOXYGEN=1], [HAVE_DOXYGEN=1]) - elif test "$use_doxygen" != auto; then - AC_MSG_FAILURE([--with-doxygen was given, but the doxygen program could not be found]) - else - HAVE_DOXYGEN=0 - fi - ], -) - -# -# Try to enable large file support. This will make sure that on systems -# where off_t can be either 32 or 64 bit, the latter size is used. On -# other systems, this should do nothing. (Hopefully) -# -AC_SYS_LARGEFILE - - -# Fish does not use exceptions. -CXXFLAGS="$CXXFLAGS -fno-exceptions" - -# -# Set some warning flags -# Don't warn about missing field initializers, it has too many -# false positives for code like `struct termios tmodes = {};` -# -CXXFLAGS="$CXXFLAGS -Wextra -Wno-missing-field-initializers" - -# -# This is needed in order to get the really cool backtraces on Linux -# -AC_MSG_CHECKING([for -rdynamic linker flag]) -prev_LDFLAGS="$LDFLAGS" -LDFLAGS="$LDFLAGS -rdynamic" -AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])], - [ - AC_MSG_RESULT([yes]) - LDFLAGS_FISH="$LDFLAGS_FISH -rdynamic" - ], [ - AC_MSG_RESULT([no]) - LDFLAGS_FISH="$LDFLAGS_FISH" - ]) -LDFLAGS="$prev_LDFLAGS" - -# -# See if Linux procfs is present. This is used to get extra -# information about running processes. -# - -AC_CHECK_FILES([/proc/self/stat]) - -# Disable curses macros that conflict with the STL -AC_DEFINE([NCURSES_NOMACROS], [1], [Define to 1 to disable ncurses macros that conflict with the STL]) -AC_DEFINE([NOMACROS], [1], [Define to 1 to disable curses macros that conflict with the STL]) - -# Threading is excitingly broken on Solaris without adding -pthread to CXXFLAGS -# Only support GCC for now -dnl Ideally we would use the AX_PTHREAD macro here, but it's GPL3-licensed -dnl ACX_PTHREAD is way too old and seems to break the OS X build -dnl Both only check with AC_LANG(C) in any case -case $host_os in - solaris*) - CXXFLAGS="$CXXFLAGS -pthread" - CFLAGS="$CFLAGS -pthread" - ;; -esac - -# -# Check presense of various libraries. This is done on a per-binary -# level, since including various extra libraries in all binaries only -# because thay are used by some of them can cause extra bloat and -# slower compiles when developing fish. -# - -# Check for os dependant libraries for all binaries. -AC_SEARCH_LIBS( nanosleep, rt, , [AC_MSG_ERROR([Cannot find the rt library, needed to build this package.] )] ) -AC_SEARCH_LIBS( shm_open, rt, [AC_DEFINE([HAVE_SHM_OPEN], [1], [Define to 1 if the shm_open() function exists])] ) -AC_SEARCH_LIBS( pthread_create, pthread, , [AC_MSG_ERROR([Cannot find the pthread library, needed to build this package.] )] ) -AC_SEARCH_LIBS( setupterm, [ncurses tinfo curses], , [AC_MSG_ERROR([Could not find a curses implementation, needed to build fish. If this is Linux, try running 'sudo apt-get install libncurses5-dev' or 'sudo yum install ncurses-devel'])] ) -AC_SEARCH_LIBS( [dladdr], [dl] ) - -if test x$local_gettext != xno; then - AC_SEARCH_LIBS( gettext, intl,,) -fi - -# -# Check presense of various header files -# - -AC_CHECK_HEADERS([getopt.h termios.h sys/resource.h term.h ncurses/term.h ncurses.h ncurses/curses.h curses.h stropts.h siginfo.h sys/select.h sys/ioctl.h execinfo.h spawn.h sys/sysctl.h xlocale.h]) - -if test x$local_gettext != xno; then - AC_CHECK_HEADERS([libintl.h]) -fi - - -# -# Get the size in bits of wchar_t, needed for configuring the pcre2 build -# and for code that #includes pcre2.h -# - -AC_CHECK_SIZEOF(wchar_t) -WCHAR_T_BITS=`expr 8 \* $ac_cv_sizeof_wchar_t` -AC_DEFINE_UNQUOTED([WCHAR_T_BITS], [$WCHAR_T_BITS], [The size of wchar_t in bits.]) - -# -# Detect nanoseconds fields in struct stat -# -AC_CHECK_MEMBERS([struct stat.st_ctime_nsec]) -AC_CHECK_MEMBERS([struct stat.st_mtimespec.tv_nsec]) -AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec]) - -# -# Check for D_TYPE in dirent, only on BSD and Linux -# -AC_STRUCT_DIRENT_D_TYPE - -# -# Check for presence of various functions used by fish -# - -AC_CHECK_FUNCS( wcsndup ) -AC_CHECK_FUNCS( wcstod_l ) -AC_CHECK_FUNCS( futimes ) -AC_CHECK_FUNCS( wcslcpy lrand48_r killpg ) -AC_CHECK_FUNCS( backtrace_symbols getifaddrs ) -AC_CHECK_FUNCS( futimens clock_gettime ) -AC_CHECK_FUNCS( getpwent flock ) - -AC_MSG_CHECKING([dirfd]) -AC_LINK_IFELSE([ - AC_LANG_PROGRAM( - [ - #include - DIR *dirp; - ], [ - return dirfd(dirp); - ] - ) - ] -, [ AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE_DIRFD], 1, [ Define to 1 if you have the `dirfd' function or macro. ]) - ], - [ AC_MSG_RESULT([no])] -) - -AC_CHECK_DECL( [__NetBSD__], AC_DEFINE([TPARM_VARARGS], 1, [ Make tparm take varargs ]) ) -AC_CHECK_DECL( [mkostemp], [ AC_CHECK_FUNCS([mkostemp]) ] ) - -# -# Although setupterm is linkable thanks to SEARCH_LIBS above, some -# builds of ncurses include the actual headers in a different package -# -AC_CHECK_DECL( [setupterm], , [AC_MSG_ERROR([Could not find a curses implementation, needed to build fish. If this is Linux, try running 'sudo apt-get install libncurses5-dev' or 'sudo yum install ncurses-devel'])], [ -#if HAVE_NCURSES_H -#include -#elif HAVE_NCURSES_CURSES_H -#include -#else -#include -#endif -#if HAVE_TERM_H -#include -#elif HAVE_NCURSES_TERM_H -#include -#endif -] ) - -dnl AC_CHECK_FUNCS uses C linkage, but sometimes (Solaris!) the behaviour is -dnl different with C++. -AC_MSG_CHECKING([for wcsdup]) -AC_TRY_LINK( [ #include ], - [ wchar_t* foo = wcsdup(L""); ], - [ AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_WCSDUP, 1, Define to 1 if you have the `wcsdup' function.) - ], - [AC_MSG_RESULT(no)], - ) - -AC_MSG_CHECKING([for std::wcsdup]) -AC_TRY_LINK( [ #include ], - [ wchar_t* foo = std::wcsdup(L""); ], - [ AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_STD__WCSDUP, 1, Define to 1 if you have the `std::wcsdup' function.) - ], - [AC_MSG_RESULT(no)], - ) - -AC_MSG_CHECKING([for wcscasecmp]) -AC_TRY_LINK( [ #include ], - [ int foo = wcscasecmp(L"", L""); ], - [ AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_WCSCASECMP, 1, Define to 1 if you have the `wcscasecmp' function.) - ], - [AC_MSG_RESULT(no)], - ) - -AC_MSG_CHECKING([for std::wcscasecmp]) -AC_TRY_LINK( [ #include ], - [ int foo = std::wcscasecmp(L"", L""); ], - [ AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_STD__WCSCASECMP, 1, Define to 1 if you have the `std::wcscasecmp' function.) - ], - [AC_MSG_RESULT(no)], - ) - -AC_MSG_CHECKING([for wcsncasecmp]) -AC_TRY_LINK( [ #include ], - [ int foo = wcsncasecmp(L"", L"", 0); ], - [ AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_WCSNCASECMP, 1, Define to 1 if you have the `wcsncasecmp' function.) - ], - [AC_MSG_RESULT(no)], - ) - -AC_MSG_CHECKING([for std::wcsncasecmp]) -AC_TRY_LINK( [ #include ], - [ int foo = std::wcsncasecmp(L"", L"", 0); ], - [ AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_STD__WCSNCASECMP, 1, Define to 1 if you have the `std::wcsncasecmp' function.) - ], - [AC_MSG_RESULT(no)], - ) - -AC_MSG_CHECKING([for std::make_unique]) -AC_TRY_LINK( [ #include ], - [ std::unique_ptr foo = std::make_unique(); ], - [ AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_STD__MAKE_UNIQUE, 1, Define to 1 if you have the `std::make_unique' function.) - ], - [AC_MSG_RESULT(no)], - ) - -if test x$local_gettext != xno; then - AC_CHECK_FUNCS( gettext ) - -# -# The Makefile also needs to know if we have gettext, so it knows if -# the translations should be installed. -# - AC_CHECK_FUNC( gettext, HAVE_GETTEXT=1, HAVE_GETTEXT=0 ) -fi - -# -# Here follows a list of small programs used to test for various -# features that Autoconf doesn't tell us about -# - -dnl AC_CHECK_FUNCS uses C linkage, but sometimes (Solaris!) the behaviour is -dnl different with C++. -AC_MSG_CHECKING([if ctermid_r() available]) -AC_TRY_LINK( [ #include ], - [ char buf[L_ctermid]; char *foo = ctermid_r(buf); ], - [ AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_CTERMID_R, 1, Define to 1 if you have the `ctermid_r' function.) - ], - [AC_MSG_RESULT(no)], - ) - -# -# Check if struct winsize and TIOCGWINSZ exist -# - -AC_MSG_CHECKING([if struct winsize and TIOCGWINSZ exist]) -AC_LINK_IFELSE( - [ - AC_LANG_PROGRAM( - [ - #ifdef HAVE_TERMIOS_H - #include - #endif - - #ifdef HAVE_SYS_IOCTL_H - #include - #endif - ], - [ - struct winsize termsize = {0}; - TIOCGWINSZ; - ] - ) - ], - [ - AC_MSG_RESULT(yes); - AC_DEFINE([HAVE_WINSIZE], [1], [Define to 1 if the winsize struct and TIOCGWINSZ macro exist]) - ], - [ - AC_MSG_RESULT(no) - ] -) - - -# Check for _nl_msg_cat_cntr symbol -AC_MSG_CHECKING([for _nl_msg_cat_cntr symbol]) -AC_TRY_LINK( - [ - #if HAVE_LIBINTL_H - #include - #endif - #include - ], - [ - extern int _nl_msg_cat_cntr; - int tmp = _nl_msg_cat_cntr; - exit(tmp); - ], - have__nl_msg_cat_cntr=yes, - have__nl_msg_cat_cntr=no -) -if test "$have__nl_msg_cat_cntr" = yes; then - AC_MSG_RESULT(yes) - AC_DEFINE( - [HAVE__NL_MSG_CAT_CNTR], - [1], - [Define to 1 if the _nl_msg_cat_cntr symbol is exported.] - ) -else - AC_MSG_RESULT(no) -fi - - -# Check for sys_errlist -AC_MSG_CHECKING([for sys_errlist array]) -AC_TRY_LINK( - [ - #include - ], - [ - const char *p; - p = sys_errlist[sys_nerr]; - ], - have_sys_errlist=yes, - have_sys_errlist=no -) -if test "$have_sys_errlist" = yes; then - AC_MSG_RESULT(yes) - AC_DEFINE( - [HAVE_SYS_ERRLIST], - [1], - [Define to 1 if the sys_errlist array is available.] - ) -else - AC_MSG_RESULT(no) -fi - -# Check for _sys_errs -AC_MSG_CHECKING([for _sys_errs array]) -AC_TRY_LINK( - [ - #include - ], - [ - std::string p; - extern const char _sys_errs[]; - extern const int _sys_index[]; - p = _sys_errs[_sys_index[0]]; - ], - have__sys__errs=yes, - have__sys__errs=no -) -if test "$have__sys__errs" = yes; then - AC_MSG_RESULT(yes) - AC_DEFINE( - [HAVE__SYS__ERRS], - [1], - [Define to 1 if the _sys_errs array is available.] - ) -else - AC_MSG_RESULT(no) -fi - -# Check for Solaris curses tputs having fixed length parameter list. -AC_MSG_CHECKING([if we are using non varargs tparm.]) -AC_COMPILE_IFELSE( - [ - AC_LANG_PROGRAM( - [ - #define TPARM_VARARGS 1 - #if HAVE_NCURSES_H - #include - #elif HAVE_NCURSES_CURSES_H - #include - #else - #include - #endif - - #if HAVE_TERM_H - #include - #elif HAVE_NCURSES_TERM_H - #include - #endif - ], - [ - tparm( "" ); - ] - ) - ], - [tparm_solaris_kludge=no], - [tparm_solaris_kludge=yes] -) -if test "x$tparm_solaris_kludge" = "xyes"; then - AC_MSG_RESULT(yes) - AC_DEFINE( - [TPARM_SOLARIS_KLUDGE], - [1], - [Define to 1 if tparm accepts a fixed amount of paramters.] - ) -else - AC_MSG_RESULT(no) -fi - -# ======== -# PCRE2 library configuration. -pcre2_min_version=10.21 -EXTRA_PCRE2= -AC_ARG_WITH( - included-pcre2, - AS_HELP_STRING( - [--without-included-pcre2], - [build against the system PCRE2 library instead of the bundled version] - ), - [included_pcre2=$withval], - [included_pcre2=auto] -) - -HAVE_BROKEN_WCWIDTH= -AC_ARG_ENABLE( - [wcwidth], - AS_HELP_STRING( - [--disable-internal-wcwidth], - [use system wcwidth instead of the bundled version] - )) - -if test "x$enable_wcwidth" != "xno"; then - AC_DEFINE([HAVE_BROKEN_WCWIDTH], [1], [banana]) -else - AC_DEFINE([HAVE_BROKEN_WCWIDTH], [0], [banana]) -fi - -if test "x$included_pcre2" != "xyes"; then - - # test for pcre2-config - # can use either pcre2-config or pkgconfig here but only implement the former for now - AC_CHECK_PROG(PCRE2_CONFIG, pcre2-config, pcre2-config) - - if test "x$PCRE2_CONFIG" != "x"; then - dnl AC_MSG_CHECKING([for $WCHAR_T_BITS-bit PCRE2]) - XLIBS="$LIBS" - LIBS="$LIBS "`$PCRE2_CONFIG --libs$WCHAR_T_BITS 2>/dev/null` - XCXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS "`$PCRE2_CONFIG --cflags` - - # cheat a bit here. the exact library is determined by $WCHAR_T_BITS, - # and so AC_CHECK_LIB won't work (can't use a variable as library name) - # AC_SEARCH_LIBS will use the existing $LIBS flags with no additional library first - AC_SEARCH_LIBS([pcre2_compile_$WCHAR_T_BITS], [], - [ # pcre2 lib found, check for minimum version - pcre2_version=`$PCRE2_CONFIG --version` - AS_VERSION_COMPARE([$pcre2_version], [$pcre2_min_version], - [ # version < minimum - AC_MSG_NOTICE([system PCRE2 library version $pcre2_version, need $pcre2_min_version or later]) - if test "x$included_pcre2" = "xno"; then - # complain about pcre2 version - AC_MSG_ERROR([system PCRE2 library is too old, but --without-included-pcre2 was given.]) - else - # use the internal version; undo changes to LIBS/CXXFLAGS - included_pcre2=yes - LIBS="$XLIBS" - CXXFLAGS="$XCXXFLAGS" - fi - ], - [ # version == minimum - working_pcre2=yes - ], - [ # version > minimum - working_pcre2=yes - ] - ) - ], - [ # fail case; undo the changes to LIBS/CXXFLAGS - working_pcre2=no - LIBS="$XLIBS" - CXXFLAGS="$XCXXFLAGS" - ] - ) - fi - - if test "x$working_pcre2" = "xyes"; then - AC_MSG_NOTICE([using system PCRE2 library]) - else - # pcre2 size wrong or pcre2-config not found - # is it OK to use the included version? - if test "x$included_pcre2" = "xno"; then - # complain - AC_MSG_ERROR([cannot find system pcre2-config, but --without-included-pcre2 was given. -Make sure pcre2-config is installed and available in PATH. -You may need to install the PCRE2 development library for your system.]) - else - # use the internal version - included_pcre2=yes - fi - fi -fi - -# Re-test as value may have changed. -if test "x$included_pcre2" = "xyes"; then - # Build configure/Makefile for pcre2 - AC_MSG_NOTICE([using included PCRE2 library]) - # unfortunately these get added to the global configuration - ac_configure_args="$ac_configure_args --disable-pcre2-8 --enable-pcre2-$WCHAR_T_BITS --disable-shared" - AC_CONFIG_SUBDIRS([pcre2-10.32]) - - PCRE2_CXXFLAGS='-I$(PCRE2_DIR)/src' - PCRE2_LIBS='-L$(PCRE2_LIBDIR) -lpcre2-$(PCRE2_WIDTH)' - - # Make the binary depend on the PCRE2 libraries so they get built - EXTRA_PCRE2='$(PCRE2_LIB)' - CXXFLAGS="$CXXFLAGS $PCRE2_CXXFLAGS" - LIBS="$LIBS $PCRE2_LIBS" -fi - -# Allow configurable extra directories. -AC_SUBST(extra_completionsdir) -AC_ARG_WITH([extra-completionsdir], - AS_HELP_STRING([--with-extra-completionsdir=DIR], - [path for extra completions]), - [extra_completionsdir=$withval], - [extra_completionsdir='${datadir}/fish/vendor_completions.d']) - -AC_SUBST(extra_functionsdir) -AC_ARG_WITH([extra_functionsdir], - AS_HELP_STRING([--with-extra-functionsdir=DIR], - [path for extra functions]), - [extra_functionsdir=$withval], - [extra_functionsdir='${datadir}/fish/vendor_functions.d']) - -AC_SUBST(extra_confdir) -AC_ARG_WITH([extra-confdir], - AS_HELP_STRING([--with-extra-confdir=DIR], - [path for extra conf]), - [extra_confdir=$withval], - [extra_confdir='${datadir}/fish/vendor_conf.d']) - -# Tell the world what we know. -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT - -echo "fish is now configured." diff --git a/install-sh b/install-sh deleted file mode 100755 index 0b0fdcbba..000000000 --- a/install-sh +++ /dev/null @@ -1,501 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2013-12-25.23; # UTC - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# 'make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. - -tab=' ' -nl=' -' -IFS=" $tab$nl" - -# Set DOITPROG to "echo" to test this script. - -doit=${DOITPROG-} -doit_exec=${doit:-exec} - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -chgrpprog=${CHGRPPROG-chgrp} -chmodprog=${CHMODPROG-chmod} -chownprog=${CHOWNPROG-chown} -cmpprog=${CMPPROG-cmp} -cpprog=${CPPROG-cp} -mkdirprog=${MKDIRPROG-mkdir} -mvprog=${MVPROG-mv} -rmprog=${RMPROG-rm} -stripprog=${STRIPPROG-strip} - -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chgrpcmd= -chmodcmd=$chmodprog -chowncmd= -mvcmd=$mvprog -rmcmd="$rmprog -f" -stripcmd= - -src= -dst= -dir_arg= -dst_arg= - -copy_on_change=false -is_target_a_directory=possibly - -usage="\ -Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: - --help display this help and exit. - --version display version info and exit. - - -c (ignored) - -C install only if different (preserve the last data modification time) - -d create directories instead of installing files. - -g GROUP $chgrpprog installed files to GROUP. - -m MODE $chmodprog installed files to MODE. - -o USER $chownprog installed files to USER. - -s $stripprog installed files. - -t DIRECTORY install into DIRECTORY. - -T report an error if DSTFILE is a directory. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG - RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) ;; - - -C) copy_on_change=true;; - - -d) dir_arg=true;; - - -g) chgrpcmd="$chgrpprog $2" - shift;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - case $mode in - *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; - - -o) chowncmd="$chownprog $2" - shift;; - - -s) stripcmd=$stripprog;; - - -t) - is_target_a_directory=always - dst_arg=$2 - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - shift;; - - -T) is_target_a_directory=never;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac - shift -done - -# We allow the use of options -d and -T together, by making -d -# take the precedence; this is for compatibility with GNU install. - -if test -n "$dir_arg"; then - if test -n "$dst_arg"; then - echo "$0: target directory not allowed when installing a directory." >&2 - exit 1 - fi -fi - -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dst_arg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dst_arg" - shift # fnord - fi - shift # arg - dst_arg=$arg - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call 'install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - if test $# -gt 1 || test "$is_target_a_directory" = always; then - if test ! -d "$dst_arg"; then - echo "$0: $dst_arg: Is not a directory." >&2 - exit 1 - fi - fi -fi - -if test -z "$dir_arg"; then - do_exit='(exit $ret); exit $ret' - trap "ret=129; $do_exit" 1 - trap "ret=130; $do_exit" 2 - trap "ret=141; $do_exit" 13 - trap "ret=143; $do_exit" 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names problematic for 'test' and other utilities. - case $src in - -* | [=\(\)!]) src=./$src;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dst_arg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - dst=$dst_arg - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test "$is_target_a_directory" = never; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dst=$dstdir/`basename "$src"` - dstdir_status=0 - else - dstdir=`dirname "$dst"` - test -d "$dstdir" - dstdir_status=$? - fi - fi - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix='/';; - [-=\(\)!]*) prefix='./';; - *) prefix='';; - esac - - oIFS=$IFS - IFS=/ - set -f - set fnord $dstdir - shift - set +f - IFS=$oIFS - - prefixes= - - for d - do - test X"$d" = X && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && - { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && - { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # If -C, don't bother to copy if it wouldn't change the file. - if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - set -f && - set X $old && old=:$2:$4:$5:$6 && - set X $new && new=:$2:$4:$5:$6 && - set +f && - test "$old" = "$new" && - $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 - then - rm -f "$dsttmp" - else - # Rename the file to the real destination. - $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || - - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - fi || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/m4/ax_cxx_compile_stdcxx.m4 b/m4/ax_cxx_compile_stdcxx.m4 deleted file mode 100644 index 2c18e49c5..000000000 --- a/m4/ax_cxx_compile_stdcxx.m4 +++ /dev/null @@ -1,562 +0,0 @@ -# =========================================================================== -# 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 -# Copyright (c) 2012 Zack Weinberg -# Copyright (c) 2013 Roy Stogner -# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov -# Copyright (c) 2015 Paul Norman -# Copyright (c) 2015 Moritz Klammler -# -# 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 - 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 single_type; - typedef check> double_type; - typedef check>> triple_type; - typedef check>>> 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 - { - 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::value == true, ""); - static_assert(is_same::value == false, ""); - static_assert(is_same::value == false, ""); - auto ac = c; - auto av = v; - auto sumi = ac + av + 'x'; - auto sumf = ac + av + 1.0; - static_assert(is_same::value == true, ""); - static_assert(is_same::value == true, ""); - static_assert(is_same::value == true, ""); - static_assert(is_same::value == false, ""); - static_assert(is_same::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 - struct sum; - - template - struct sum - { - static constexpr auto value = N0 + sum::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 - using member = typename T::member_type; - - template - void func(...) {} - - template - void func(member*) {} - - void test(); - - void test() { func(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 - { - static constexpr auto value = true; - }; - - int - test() - { - auto x = 0; - static_assert(is_same::value, ""); - static_assert(is_same::value, ""); - return x; - } - - } - -} // namespace cxx14 - -#endif // __cplusplus >= 201402L - -]]) diff --git a/m4/ax_cxx_compile_stdcxx_11.m4 b/m4/ax_cxx_compile_stdcxx_11.m4 deleted file mode 100644 index 0aadeafe7..000000000 --- a/m4/ax_cxx_compile_stdcxx_11.m4 +++ /dev/null @@ -1,39 +0,0 @@ -# ============================================================================ -# 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 -# Copyright (c) 2012 Zack Weinberg -# Copyright (c) 2013 Roy Stogner -# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov -# Copyright (c) 2015 Paul Norman -# Copyright (c) 2015 Moritz Klammler -# -# 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])])