summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pj@pehjota.net>2017-07-22 09:58:05 (EDT)
committer P. J. McDermott <pj@pehjota.net>2017-07-22 09:58:05 (EDT)
commitae8fb0f98c0c7776daa3594251618e0abee523e3 (patch)
treedc6f332af0fe235ec395de7d753481421f22a5cf
parente0cc4b1883c98145d05a141e06a0392a3181e6e5 (diff)
Switch to using GNU Autoconf and Automake
-rw-r--r--Makefile.am118
-rw-r--r--Makefile.in255
-rwxr-xr-xconfigure320
-rw-r--r--configure.ac55
-rw-r--r--lib/cmd/local.mk2
-rw-r--r--lib/local.mk2
-rw-r--r--locale/local.mk2
-rw-r--r--man/local.mk2
-rw-r--r--src/local.mk2
9 files changed, 178 insertions, 580 deletions
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..20d14d1
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,118 @@
+# Process this file with automake to produce an input makefile.
+#
+# Copyright (C) 2013, 2014 Patrick "P. J." McDermott
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+include $(top_srcdir)/src/local.mk
+include $(top_srcdir)/lib/local.mk
+include $(top_srcdir)/lib/cmd/local.mk
+include $(top_srcdir)/man/local.mk
+include $(top_srcdir)/locale/local.mk
+include $(top_srcdir)/tests/local.mk
+
+bin_SCRIPTS = $(bin_sources:.sh=)
+pkgdata_SCRIPTS = $(pkgdata_sources:.sh=.sm)
+pkgdatacmd_SCRIPTS = $(pkgdatacmd_sources:.sh=.sm)
+man1_MANS = $(man1_sources:.1in=.1)
+locale_MESSAGES = $(locale_sources:.sh=.ms)
+CLEANFILES = \
+ $(bin_SCRIPTS) \
+ $(pkgdata_SCRIPTS) \
+ $(pkgdatacmd_SCRIPTS) \
+ $(man1_MANS) \
+ $(locale_MESSAGES)
+pkgdatacmddir = $(pkgdatadir)/cmd
+EXTRA_DIST = \
+ COPYING.2 \
+ COPYING.3 \
+ autogen.sh \
+ $(bin_sources) \
+ $(pkgdata_sources) \
+ $(pkgdatacmd_sources) \
+ $(man1_sources) \
+ $(locale_sources) \
+ $(tests)
+
+SUFFIXES = .sh .sm .1in .1 .ms
+
+textdomain = $$(printf '%s\n' '$(PACKAGE)' | sed -e 's|-|_|g')
+do_subst = sed \
+ -e 's|@[@]PACKAGE_NAME[@]@|$(PACKAGE)|g' \
+ -e 's|@[@]PACKAGE_VERSION[@]@|$(PACKAGE_VERSION)|g' \
+ -e 's|@[@]PACKAGE_DESCRIPTION[@]@|$(PACKAGE_NAME)|g' \
+ -e 's|@[@]PKGLIBDIR[@]@|$(pkgdatadir)|g' \
+ -e 's|@[@]PKGLIBCMDDIR[@]@|$(pkgdatacmddir)|g' \
+ -e 's|@[@]LOCALEDIR[@]@|$(localedir)|g' \
+ -e 's|@[@]SH[@]@|$(SH)|g' \
+ -e 's|@[@]PKGLIBCMD[@]@|$(pkgdatacmd_SCRIPTS)|g' \
+ -e 's|[@]PACKAGE[@]|$(PACKAGE)|g' \
+ -e 's|[@]PACKAGE_NAME[@]|$(PACKAGE_NAME)|g' \
+ -e 's|[@]PACKAGE_VERSION[@]|$(PACKAGE_VERSION)|g' \
+ -e 's|[@]SH[@]|$(SH)|g' \
+ -e 's|[@]bindir[@]|$(bindir)|g' \
+ -e 's|[@]pkgdatadir[@]|$(pkgdatadir)|g' \
+ -e 's|[@]pkgdatacmddir[@]|$(pkgdatacmddir)|g' \
+ -e 's|[@]localedir[@]|$(localedir)|g'
+
+all-local: $(locale_MESSAGES)
+
+install-data-local: $(locale_MESSAGES)
+ @$(NORMAL_INSTALL)
+ for f in $(locale_MESSAGES); do \
+ ff="$${f#*/}"; \
+ dir="$(DESTDIR)$(localedir)/$${ff%.ms}/LC_MESSAGES"; \
+ $(MKDIR_P) "$${dir}" || exit 1; \
+ $(INSTALL_DATA) "$${f}" "$${dir}/$(textdomain).ms" || \
+ exit $${?}; \
+ done
+
+uninstall-local:
+ @$(NORMAL_UNINSTALL)
+ for f in $(locale_MESSAGES); do \
+ ff="$${f#*/}"; \
+ dir="$(DESTDIR)$(localedir)/$${ff%.ms}/LC_MESSAGES"; \
+ rm -f "$${dir}/$(textdomain).ms"; \
+ done
+
+uninstall-hook:
+ for dir in \
+ '$(DESTDIR)$(pkgdatacmddir)' \
+ '$(DESTDIR)$(pkgdatadir)'; do \
+ if [ -d "$${dir}" ]; then \
+ rmdir "$${dir}"; \
+ fi; \
+ done
+
+really-clean: distclean
+ rm -Rf $(srcdir)/aclocal.m4 $(srcdir)/autom4te.cache/ \
+ $(srcdir)/configure \
+ $(srcdir)/build-aux/ $(srcdir)/INSTALL $(srcdir)/Makefile.in
+
+.sh:
+ $(AM_V_GEN)$(MKDIR_P) "$$(dirname $@)"
+ $(AM_V_at)$(do_subst) $< >$@
+ $(AM_V_at)chmod a+x $@
+
+.sh.sm:
+ $(AM_V_GEN)$(MKDIR_P) "$$(dirname $@)"
+ $(AM_V_at)$(do_subst) $< >$@
+
+.1in.1:
+ $(AM_V_GEN)$(MKDIR_P) "$$(dirname $@)"
+ $(AM_V_at)$(do_subst) $< >$@
+
+.sh.ms:
+ $(AM_V_GEN)$(MKDIR_P) "$$(dirname $@)"
+ $(AM_V_at)cp $< $@
diff --git a/Makefile.in b/Makefile.in
deleted file mode 100644
index fad6921..0000000
--- a/Makefile.in
+++ /dev/null
@@ -1,255 +0,0 @@
-# pro-archman
-# Makefile.in
-# Input Makefile for configure.
-#
-# Copyright (C) 2012-2013 Patrick "P. J." McDermott
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-package_name = @package_name@
-package_version = @package_version@
-package_description = @package_description@
-package_library = @package_library@
-
-srcdir = @srcdir@
-prefix = @prefix@
-bindir = @bindir@
-libdir = @libdir@
-pkglibdir = @pkglibdir@
-datadir = @datadir@
-mandir = @mandir@
-man1dir = @man1dir@
-localedir = @localedir@
-
-DESTDIR = /
-
-sh = @sh@
-
-pkglibcmddir = $(pkglibdir)/cmd
-
-include $(srcdir)/src/local.mk
-include $(srcdir)/lib/local.mk
-include $(srcdir)/lib/cmd/local.mk
-include $(srcdir)/man/local.mk
-include $(srcdir)/locale/local.mk
-include $(srcdir)/tests/local.mk
-
-bin = $(bin_srcs:.sh=)
-pkglib = $(pkglib_srcs:.sh=.sm)
-pkglibcmd = $(pkglibcmd_srcs:.sh=.sm)
-man1 = $(man1_srcs:.1in=.1)
-locale = $(locale_srcs:.sh=.ms)
-
-distdir = $(package_name)-$(package_version)
-distfiles = \
- configure \
- Makefile.in \
- COPYING.2 \
- COPYING.3 \
- README \
- INSTALL \
- HACKING \
- NEWS \
- examples/conf.default \
- src/local.mk \
- lib/local.mk \
- lib/cmd/local.mk \
- man/local.mk \
- locale/local.mk \
- tests/local.mk \
- $(bin_srcs) \
- $(pkglib_srcs) \
- $(pkglibcmd_srcs) \
- $(man1_srcs) \
- $(locale_srcs) \
- $(tests)
-
-script = \
- s&@@PACKAGE_NAME@@&$(package_name)&;\
- s&@@PACKAGE_VERSION@@&$(package_version)&;\
- s&@@PACKAGE_DESCRIPTION@@&$(package_description)&;\
- s&@@BINDIR@@&$(bindir)&;\
- s&@@PKGLIBDIR@@&$(pkglibdir)&;\
- s&@@PKGLIBCMDDIR@@&$(pkglibcmddir)&;\
- s&@@DATADIR@@&$(datadir)&;\
- s&@@LOCALEDIR@@&$(localedir)&;\
- s&@@SH@@&$(sh)&;\
- s&@@PKGLIBCMD@@&$(pkglibcmd)&;
-
-.SUFFIXES:
-.SUFFIXES: .sh .sm .1in .1 .ms
-
-# XXX: Support for lists of multiple targets in inference rules doesn't appear
-# to be required by POSIX.1-2008 [1], but it exists in GNU Make and NetBSD
-# pmake. Expand this into separate rules if it is a problem with certain make
-# implementations.
-# [1]: Compare the inference and target rule definitions after fragments
-# <#tag_20_76_13_06> and <#tag_20_76_13_04> in
-# <http://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html>.
-.sh:
- @printf ' SED %s\n' '$@'
- @sed '$(script)' '$(srcdir)/$?' >'$@'
- @chmod 755 '$@'
-.sh.sm .1in.1:
- @printf ' SED %s\n' '$@'
- @sed '$(script)' '$(srcdir)/$?' >'$@'
- @chmod 644 '$@'
-.sh.ms:
- @printf ' CP %s\n' '$@'
- @obj='$@'; mkdir -p "$${obj%/*}"
- @cp '$(srcdir)/$?' '$@'
- @chmod 644 '$@'
-
-all: all-exec all-data
-all-exec: all-bin all-pkglib all-pkglibcmd
-all-bin: $(bin)
-all-pkglib: $(pkglib)
-all-pkglibcmd: $(pkglibcmd)
-all-data: all-man1 all-locale
-all-man1: $(man1)
-all-locale: $(locale)
-
-clean_cmds = \
- set -e; \
- for f in $${files}; do \
- printf ' RM %s\n' "$${f}"; \
- rm -f "$${f}"; \
- done
-clean: clean-exec clean-data
-clean-exec: clean-bin clean-pkglib clean-pkglibcmd
-clean-bin:
- @files='$(bin)'; $(clean_cmds)
-clean-pkglib:
- @files='$(pkglib)'; $(clean_cmds)
-clean-pkglibcmd:
- @files='$(pkglibcmd)'; $(clean_cmds)
-clean-data: clean-man1 clean-locale
-clean-man1:
- @files='$(man1)'; $(clean_cmds)
-clean-locale:
- @files='$(locale)'; $(clean_cmds)
-
-distclean: clean
- @printf ' RM Makefile\n'; \
- rm -f Makefile
-
-install_cmds = \
- set -e; \
- mkdir -p "$(DESTDIR)/$${dir}"; \
- for f in $${files}; do \
- printf ' INSTALL %s\n' "$${f}"; \
- ff="$$(basename "$${f}")"; \
- cp "$${f}" "$(DESTDIR)/$${dir}/$${ff}"; \
- chmod "$${mode}" "$(DESTDIR)/$${dir}/$${ff}"; \
- done
-install: all install-exec install-data
-install-exec: all-exec install-bin install-pkglib install-pkglibcmd
-install-bin:
- @files='$(bin)'; dir='$(bindir)'; mode='755'; $(install_cmds)
-install-pkglib:
- @files='$(pkglib)'; dir='$(pkglibdir)'; mode='644'; $(install_cmds)
-install-pkglibcmd:
- @files='$(pkglibcmd)'; dir='$(pkglibcmddir)'; \
- mode='644'; $(install_cmds)
-install-data: all-data install-man1 install-locale
-install-man1:
- @files='$(man1)'; dir='$(man1dir)'; mode='644'; $(install_cmds)
-install-locale:
- @mkdir -p '$(DESTDIR)/$(localedir)'
- @set -e; for f in $(locale); do \
- printf ' INSTALL %s\n' "$${f}"; \
- ff="$${f#*/}"; \
- dd="$(DESTDIR)/$(localedir)/$${ff%/?*}/LC_MESSAGES"; \
- mkdir -p "$${dd}"; \
- df="$${dd}/$${ff##*/}"; \
- cp "$${f}" "$${df}"; \
- chmod 644 "$${df}"; \
- done
-
-uninstall_cmds = \
- set -e; \
- for f in $${files}; do \
- printf ' RM %s\n' "$${f}"; \
- ff="$$(basename "$${f}")"; \
- rm -f "$(DESTDIR)/$${dir}/$${ff}"; \
- done
-uninstall: uninstall-exec uninstall-data
-uninstall-exec: uninstall-bin uninstall-pkglibcmd uninstall-pkglib
-uninstall-bin:
- @files='$(bin)'; dir='$(bindir)'; $(uninstall_cmds)
-uninstall-pkglib:
- @files='$(pkglib)'; dir='$(pkglibdir)'; $(uninstall_cmds)
- @rmdir '$(DESTDIR)/$(pkglibdir)'
-uninstall-pkglibcmd:
- @files='$(pkglibcmd)'; dir='$(pkglibcmddir)'; \
- $(uninstall_cmds)
- @rmdir '$(DESTDIR)/$(pkglibcmddir)'
-uninstall-data: uninstall-man1 uninstall-locale
-uninstall-man1:
- @files='$(man1)'; dir='$(man1dir)'; $(uninstall_cmds)
-uninstall-locale:
- @set -e; for f in $(locale); do \
- printf ' RM %s\n' "$${f}"; \
- ff="$${f#*/}"; \
- dd="$(DESTDIR)/$(localedir)/$${ff%/?*}/LC_MESSAGES"; \
- df="$${dd}/$${ff##*/}"; \
- rm -f "$${df}"; \
- done
-
-test: all
- @cd '$(srcdir)/tests'; \
- all=0; failed=0; \
- for test in $(tests); do \
- out="$$($(sh) "$(srcdir)/$${test}" 2>&1)"; \
- if [ $${?} -eq 0 ]; then \
- printf 'PASS: %s\n' "$${test}"; \
- else \
- printf 'FAIL: %s\n' "$${test}"; \
- echo "$${out}" | sed 's/^/ /'; \
- failed=$$(($$failed + 1)); \
- fi; \
- all=$$(($$all + 1)); \
- done; \
- banner="$$(printf '%d out of %d tests failed' $${failed} $${all})"; \
- l=$$(echo "$${banner}" | wc -c); \
- i=1; while [ "$${i}" -lt "$${l}" ]; do \
- printf '='; \
- i=$$(($$i + 1)); \
- done; \
- printf '\n%s\n' "$${banner}"; \
- i=1; while [ $${i} -lt $${l} ]; do \
- printf '='; \
- i=$$(($$i + 1)); \
- done; \
- printf '\n'; \
- exit $${failed}
-
-$(distdir):
- @mkdir -p '$(distdir)'
- @set -e; for f in $(distfiles); do \
- mkdir -p "$(distdir)/$$(dirname $${f})"; \
- cp -p "$${f}" "$(distdir)/$${f}"; \
- done
-
-dist dist-gzip: $(distdir)
- @tar -cf - '$(distdir)' | gzip -9c > '$(distdir).tar.gz'
- @rm -Rf '$(distdir)'
-
-dist-bzip2: $(distdir)
- @tar -cf - '$(distdir)' | bzip2 -9c > '$(distdir).tar.bz2'
- @rm -Rf '$(distdir)'
-
-dist-xz: $(distdir)
- @tar -cf - '$(distdir)' | xz -c > '$(distdir).tar.xz'
- @rm -Rf '$(distdir)'
diff --git a/configure b/configure
deleted file mode 100755
index 2e18e91..0000000
--- a/configure
+++ /dev/null
@@ -1,320 +0,0 @@
-#! /bin/sh
-#
-# pro-archman
-# configure
-# Configuration script to generate Makefile.
-#
-# Copyright (C) 2011-2013 Patrick "P. J." McDermott
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-package_name='pro-archman'
-package_version='1.4.0'
-package_description='ProteanOS Archive Manager'
-package_library='pro-archman'
-
-srcdir="$(cd "${0%/*}" && pwd)"
-prefix='/usr/local'
-bindir='${prefix}/bin'
-libdir='${prefix}/share'
-pkglibdir='${libdir}/${package_library}'
-datadir='${prefix}/share'
-mandir='${datadir}/man'
-man1dir='${mandir}/man1'
-localedir='${datadir}/locale'
-
-quiet='false'
-missing_deps='false'
-dep_cmds='
-sh
-make
-'
-
-long_opts_with_args='
-srcdir
-prefix
-bindir
-libdir
-pkglibdir
-datadir
-mandir
-man1dir
-localedir
-'
-
-features="
-${dep_cmds}
-${dep_libs}
-${opt_dep_cmds}
-${opt_dep_libs}
-"
-
-subst_vars="
-package_name
-package_version
-package_description
-package_library
-${long_opts_with_args}
-${features}
-"
-
-main()
-{
- parse_options "${@}"
- shift ${optind}
- if [ ${#} -ne 0 ]; then
- print_usage
- exit
- fi
-
- for dep in ${dep_cmds}; do
- dep_name="$(printf '%s' "${dep}" | tr -c '[a-z0-9]' '_')"
- dep_val="$(eval printf \'%s\' \"\$\{"${dep_name}"\}\")"
- if [ -z "${dep_val}" ]; then
- find_dep_cmd "${dep}" || missing_deps='true'
- fi
- done
- for dep in ${dep_libs}; do
- dep_name="$(printf '%s' "${dep}" | tr -c '[a-z0-9]' '_')"
- dep_val="$(eval printf \'%s\' \"\$\{"${dep_name}"\}\")"
- if [ -z "${dep_val}" ]; then
- find_dep_lib "${dep}" || missing_deps='true'
- fi
- done
- for dep in ${opt_dep_cmds}; do
- dep_name="$(printf '%s' "${dep}" | tr -c '[a-z0-9]' '_')"
- dep_val="$(eval printf \'%s\' \"\$\{"${dep_name}"\}\")"
- if [ -z "${dep_val}" ]; then
- find_dep_cmd "${dep}"
- fi
- done
- for dep in ${opt_dep_libs}; do
- dep_name="$(printf '%s' "${dep}" | tr -c '[a-z0-9]' '_')"
- dep_val="$(eval printf \'%s\' \"\$\{"${dep_name}"\}\")"
- if [ -z "${dep_val}" ]; then
- find_dep_lib "${dep}"
- fi
- done
-
- if ${missing_deps}; then
- cat <<EOF
-
-Some dependencies could not be found.
-Please make sure all dependencies are installed and try again.
-
-EOF
- exit 1
- fi
-
- write_makefiles
-
- printf '\nConfiguration complete!\n\n'
-}
-
-print_usage()
-{
- printf 'Usage: %s [OPTION]...\n' "${0}"
-}
-
-print_help()
-{
- cat <<EOF
-\`configure' configures ${package_name} ${package_version} to adapt to many \
-kinds of systems.
-
-$(print_usage)
-
-Configuration:
- -h, --help display this help and exit
- -V, --version display version information and exit
- -q, --quiet do not print \`checking ...' messages
- --srcdir=SRCDIR find the sources in SRCDIR
- default: configure dir
-
-Installation directories:
- --prefix=PREFIX install files under PREFIX
- default: /usr/local
- --bindir=BINDIR install scripts in BINDIR
- default: PREFIX/bin
- --libdir=LIBDIR install library scripts in LIBDIR
- default: PREFIX/share
- --pkglibdir=PKGLIBDIR install package library scripts in PKGLIBDIR
- default: LIBDIR/${package_library}
- --datadir=DATADIR expect to find data in DATADIR
- default: PREFIX/share
- --mandir=MANDIR install manual pages in MANDIR
- default: DATADIR/man
- --man1dir=MAN1DIR install section 1 manual pages in MAN1DIR
- default: MANDIR/man1
- --localedir=LOCALEDIR install locales in LOCALEDIR
- default: DATADIR/locale
-
-Dependencies:
- --with-sh=PATH use sh at PATH
-EOF
-}
-
-print_version()
-{
- cat <<EOF
-${package_name} ${package_version} configure
-Not generated by GNU Autoconf
-
-Copyright (C) 2011-2013 Patrick "P. J." McDermott
-License: GNU GPL version 2 or later <http://www.gnu.org/licenses/gpl.html>.
-This configure script is free software: you can redistribute and/or modify it.
-There is NO WARRANTY, to the extent permitted by law.
-EOF
-}
-
-parse_options()
-{
- optind=0
-
- for _opt; do
-
- # Handle arguments of "--opt arg" options.
- if [ -n "${_prev}" ]; then
- eval "${_prev}"=\"\$\{_opt\}\"
- _prev=''
- continue
- fi
-
- # Detect "--opt=arg" and "--opt arg" options.
- case "${_opt}" in
- *=*)
- _optarg="${_opt#*=}"
- _opt="${_opt%=*}"
- _optarg_set='true'
- ;;
- *)
- _optarg_set='false'
- ;;
- esac
-
- # Handle short and long options.
- case "${_opt}" in
- --)
- break
- ;;
- -h|--help)
- print_help
- exit 0
- ;;
- -V|--version)
- print_version
- exit 0
- ;;
- -q|--quiet)
- quiet='true'
- continue
- ;;
- esac
-
- # Anything beyond this point should be a long option.
- case "${_opt}" in
- --with-*)
- _opt="${_opt#--with-}"
- _opts="${features}"
- _type='package'
- ;;
- --*)
- _opt="${_opt#--}"
- _opts="${long_opts_with_args}"
- _type='option'
- ;;
- *)
- break
- ;;
- esac
-
- grep "^${_opt}\$" >/dev/null 2>&1 <<EOF
-"${_opts}"
-EOF
- if [ ${?} -ne 0 ]; then
- printf 'warning: unrecognized %s name: %s\n' \
- "${_type}" "${_opt}" >&2
- elif ${_optarg_set}; then
- _opt="$(printf '%s' "${_opt}" | tr -c '[a-z0-9]' '_')"
- eval "${_opt}"=\"\$\{_optarg\}\"
- else
- _prev="${_opt}"
- fi
-
- optind=$(($optind + 1))
-
- done
-}
-
-find_dep_cmd()
-{
- _dep="${1}"
-
- ${quiet} || printf 'checking for %s... ' "${_dep}"
-
- IFS=':'
-
- for _element in ${PATH}; do
- unset IFS
- : ${_element=-.}
- if [ -f "${_element}/${_dep}" -a -x "${_element}/${_dep}" ]; then
- ${quiet} || printf '%s/%s\n' "${_element}" "${_dep}"
- _var="$(printf '%s' "${_dep}" | tr -c '[a-z0-9]' '_')"
- eval "${_var}"=\"${_element}/${_dep}\"
- return 0
- fi
- done
-
- unset IFS
-
- ${quiet} || printf 'not found\n'
- return 1
-}
-
-find_dep_lib()
-{
- _dep="${1}"
-
- ${quiet} || printf 'checking for %s... ' "${_dep}"
-
- for _element in $(eval printf \'%s\' \""${libdir}"\") ${PATH}; do
- : ${_element=-.}
- if [ -d "${_element}/${_dep}" ]; then
- ${quiet} || printf '%s/%s\n' "${_element}" "${_dep}"
- _var="$(printf '%s' "${_dep}" | tr -c '[a-z0-9]' '_')"
- eval "${_var}"=\"${_element}/${_dep}\"
- return 0
- fi
- done
-
- ${quiet} || printf 'not found\n'
- return 1
-}
-
-write_makefiles()
-{
- mkdir -p src lib lib/cmd locale man tests
-
- # Make a script to edit input makefiles.
- _sed_script=''
- for _var in ${subst_vars}; do
- _var="$(printf '%s' "${_var}" | tr -c '[a-z0-9]' '_')"
- _val="$(eval printf \'%s\' \"\$\{"${_var}"\}\")"
- _sed_script="${_sed_script}s&@${_var}@&${_val}&g;"
- done
-
- sed "${_sed_script}" "${srcdir}/Makefile.in" >'Makefile'
-}
-
-main "${@}"
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..6f56f26
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,55 @@
+# Process this file with autoconf to produce a configure script.
+#
+# Copyright (C) 2013 Patrick "P. J." McDermott
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+AC_INIT([ProteanOS Archive Manager], [1.4.0],
+ [mailto:proteanos-dev@lists.proteanos.com], [pro-archman],
+ [http://www.proteanos.com/dev/pro-archman/])
+AC_CONFIG_AUX_DIR([build-aux])
+AC_CONFIG_SRCDIR([src/pro-archman.sh])
+
+AM_INIT_AUTOMAKE([gnu check-news dist-bzip2 dist-xz subdir-objects])
+AM_SILENT_RULES([yes])
+
+AC_ARG_WITH(
+ [sh],
+ [AS_HELP_STRING([--with-sh=PATH],
+ [POSIX-conformant shell with `local'])],
+ dnl This `dnl' is needed to workaround Vim syntax highlighting.
+ [
+ case "${withval}" in
+ 'yes'|'')
+ AC_MSG_ERROR([--with-sh requires an argument])
+ ;;
+ 'no')
+ AC_MSG_ERROR([sh is required])
+ ;;
+ *)
+ SH="${withval}"
+ ;;
+ esac
+ ],
+ [
+ AC_PATH_PROG([SH], [sh])
+ if test -z "${SH}"; then
+ AC_MSG_ERROR([sh not found])
+ fi
+ ]
+)
+
+AC_SUBST([SH])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT()
diff --git a/lib/cmd/local.mk b/lib/cmd/local.mk
index 5687a3e..799ad4a 100644
--- a/lib/cmd/local.mk
+++ b/lib/cmd/local.mk
@@ -1,7 +1,7 @@
# pro-archman
# lib/cmd/local.mk
-pkglibcmd_srcs = \
+pkgdatacmd_sources = \
lib/cmd/help.sh \
lib/cmd/version.sh \
lib/cmd/include.sh \
diff --git a/lib/local.mk b/lib/local.mk
index 0ad1925..0068a89 100644
--- a/lib/local.mk
+++ b/lib/local.mk
@@ -1,7 +1,7 @@
# pro-archman
# lib/local.mk
-pkglib_srcs = \
+pkgdata_sources = \
lib/output.sh \
lib/locale.sh \
lib/control.sh \
diff --git a/locale/local.mk b/locale/local.mk
index 73a831e..024a168 100644
--- a/locale/local.mk
+++ b/locale/local.mk
@@ -1,5 +1,5 @@
# pro-archman
# locale/local.mk
-locale_srcs = \
+locale_sources = \
locale/en_US/pro_archman.sh
diff --git a/man/local.mk b/man/local.mk
index 9cc9528..3642e1b 100644
--- a/man/local.mk
+++ b/man/local.mk
@@ -1,5 +1,5 @@
# pro-archman
# man/local.mk
-man1_srcs = \
+man1_sources = \
man/pro-archman.1in
diff --git a/src/local.mk b/src/local.mk
index c42c66e..f70a906 100644
--- a/src/local.mk
+++ b/src/local.mk
@@ -1,5 +1,5 @@
# pro-archman
# src/local.mk
-bin_srcs = \
+bin_sources = \
src/pro-archman.sh