[PATCH 4/4] tools: Remove install-if-change program
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri Jun 15 06:22:00 UTC 2018
The last installed tool in RTEMS repository is the install-if-change
script. It is not used to build/install BSPs. This script does the
same as the standard "install" program with an additional feature to
install variants via the -V command line option.
This script is used by the standard Makefile support:
c/src/make/host.cfg.in:INSTALL_CHANGE=$(PROJECT_BIN)/install-if-change
The INSTALL_CHANGE is used by:
c/src/make/host.cfg.in:ifndef INSTALL_CHANGE
c/src/make/host.cfg.in:INSTALL_CHANGE=$(PROJECT_BIN)/install-if-change
c/src/make/host.cfg.in:INSTALL_VARIANT=$(INSTALL_CHANGE) -V
"$(LIB_VARIANT)"
Remove the support for variant installation and instead use the standard
"install" program. This breaks application Makefiles using the standard
Makefile support of RTEMS.
Close #3455.
---
Makefile.am | 2 +-
c/src/make/README | 21 +-----
c/src/make/host.cfg.in | 6 +-
configure.ac | 15 -----
tools/build/Makefile.am | 5 --
tools/build/README | 6 --
tools/build/config.h.in | 67 -------------------
tools/build/configure.ac | 18 -----
tools/build/install-if-change.in | 139 ---------------------------------------
9 files changed, 8 insertions(+), 271 deletions(-)
delete mode 100644 tools/build/Makefile.am
delete mode 100644 tools/build/README
delete mode 100644 tools/build/config.h.in
delete mode 100644 tools/build/configure.ac
delete mode 100644 tools/build/install-if-change.in
diff --git a/Makefile.am b/Makefile.am
index ad65c1e565..5e9489db28 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -11,7 +11,7 @@ noinst_SCRIPTS = bootstrap
dist-hook:
- @files=`(cd $(srcdir); find cpukit c testsuites tools \
+ @files=`(cd $(srcdir); find cpukit c testsuites \
-name configure.ac -print | sed 's,/configure.ac,,' | sort)`; \
for i in $$files; do \
if test -f $(distdir)/$$i/configure.ac; then : ; \
diff --git a/c/src/make/README b/c/src/make/README
index e2b96d9928..f3491c2577 100644
--- a/c/src/make/README
+++ b/c/src/make/README
@@ -426,24 +426,9 @@
the installation of libraries, executables, header files,
and other things that need to be installed:
- INSTALL_CHANGE - install a file only if the source
- file is actually different than
- the installed copy or if there is
- no installed copy. USAGE:
-
- usage: install-if-change [ -vmV ] file [ file ... ] dest-directory-or-file
- -v -- verbose
- -V suffix -- suffix to append to targets (before any . suffix)
- eg: -V _g would change 'foo' to 'foo_g' and
- 'libfoo.a' to 'libfoo_g.a'
- -m mode -- mode for new file(s)
-
- INSTALL_VARIANT - installs the built file using the
- proper variant suffix (e.g. _g
- for debug turns libmine.a into libmine_g.a)
- This is implemented as a macro that
- invokes install-if-change with the
- appropriate -V argument setting.
+ INSTALL_CHANGE - set to host "install" program by default
+
+ INSTALL_VARIANT - set to host "install" program by default
Special Directory Makefile Targets
----------------------------------
diff --git a/c/src/make/host.cfg.in b/c/src/make/host.cfg.in
index 04bc04a6fb..caedc2ee9e 100644
--- a/c/src/make/host.cfg.in
+++ b/c/src/make/host.cfg.in
@@ -28,9 +28,11 @@ BIN2C=rtems-bin2c
endif
ifndef INSTALL_CHANGE
-INSTALL_CHANGE=$(PROJECT_BIN)/install-if-change
+INSTALL_CHANGE=install
+endif
+ifndef INSTALL_VARIANT
+INSTALL_VARIANT=install
endif
-INSTALL_VARIANT=$(INSTALL_CHANGE) -V "$(LIB_VARIANT)"
# ksh (or bash) is used by some shell scripts; ref build-tools/scripts/Makefile
#
diff --git a/configure.ac b/configure.ac
index d88964fca2..2de9af56a4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -32,21 +32,6 @@ RTEMS_ENABLE_RTEMS_DEBUG
RTEMS_ENABLE_PARAVIRT
RTEMS_ENABLE_DRVMGR
-## Check if there are valid tools install and in the path.
-RTEMS_CHECK_TOOL(RTEMS_CC,gcc)
-test -z "$RTEMS_CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-
-## NOTES:
-## * tools/build are host-native tools to be installed on the host.
-## * tools/cpu are host-native or host-cross-target-tools
-
-RTEMS_BUILD_CONFIG_SUBDIRS([tools/build])
-
-# Some BSPs carelessly apply these tools as build-tools
-AS_IF([test $host != $build],[
-RTEMS_HOST_CONFIG_SUBDIRS([tools/build])
-])
-
RTEMS_TARGET_CONFIG_SUBDIRS([c])
AC_CONFIG_FILES([Makefile])
diff --git a/tools/build/Makefile.am b/tools/build/Makefile.am
deleted file mode 100644
index a00a450e58..0000000000
--- a/tools/build/Makefile.am
+++ /dev/null
@@ -1,5 +0,0 @@
-ACLOCAL_AMFLAGS = -I ../../aclocal
-
-bin_SCRIPTS = install-if-change
-
-include $(top_srcdir)/../../automake/host.am
diff --git a/tools/build/README b/tools/build/README
deleted file mode 100644
index 93de488b85..0000000000
--- a/tools/build/README
+++ /dev/null
@@ -1,6 +0,0 @@
-Misc. support tools for RTEMS workspaces.
-
-install-if-change
- Smart install script that also can append suffixes as it
- installs (suffixes used for debug and profile variants).
- Requires bash or ksh.
diff --git a/tools/build/config.h.in b/tools/build/config.h.in
deleted file mode 100644
index 9aa5c43023..0000000000
--- a/tools/build/config.h.in
+++ /dev/null
@@ -1,67 +0,0 @@
-/* config.h.in. Generated from configure.ac by autoheader. */
-
-/* Define to 1 if you have the `basename' function. */
-#undef HAVE_BASENAME
-
-/* Define to 1 if you have the <getopt.h> header file. */
-#undef HAVE_GETOPT_H
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the <libgen.h> header file. */
-#undef HAVE_LIBGEN_H
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the `strerror' function. */
-#undef HAVE_STRERROR
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the `strnlen' function. */
-#undef HAVE_STRNLEN
-
-/* Define to 1 if you have the `strtol' function. */
-#undef HAVE_STRTOL
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
diff --git a/tools/build/configure.ac b/tools/build/configure.ac
deleted file mode 100644
index 7af73a2684..0000000000
--- a/tools/build/configure.ac
+++ /dev/null
@@ -1,18 +0,0 @@
-AC_PREREQ([2.69])
-AC_INIT([rtems-tools-build],[_RTEMS_VERSION],[https://devel.rtems.org/newticket])
-AC_CONFIG_SRCDIR([install-if-change.in])
-RTEMS_TOP(../..)
-RTEMS_SOURCE_TOP
-RTEMS_BUILD_TOP
-
-AC_CANONICAL_HOST
-
-AM_INIT_AUTOMAKE([no-define foreign subdir-objects 1.12.2])
-AM_MAINTAINER_MODE
-
-RTEMS_PATH_KSH
-
-# Explicitly list all Makefiles here
-AC_CONFIG_FILES([Makefile])
-AC_CONFIG_FILES([install-if-change],[chmod +x install-if-change])
-AC_OUTPUT
diff --git a/tools/build/install-if-change.in b/tools/build/install-if-change.in
deleted file mode 100644
index 9db1927044..0000000000
--- a/tools/build/install-if-change.in
+++ /dev/null
@@ -1,139 +0,0 @@
-#!@KSH@ -p
-#
-# Either bash or ksh will be ok for this; requires (( )) arithmetic
-# (-p above just says to not parse $ENV file; makes it faster for
-# those of us who set $ENV)
-#
-# install files if they have changed by running 'cmp', then 'install'
-# as necessary.
-#
-# Optionally, can append a suffix before last existing suffix (if any)
-#
-# NOTE
-# We avoid using typical install(1M) programs since they have
-# large variability across systems and we also need to support ou
-# -V option.
-# So we just copy and chmod by hand.
-
-progname=`basename $0`
-#progname=${0##*/} # fast basename hack for ksh, bash
-
-USAGE=\
-"usage: $progname [ -vmV ] file [ file ... ] dest-directory-or-file
- -v -- verbose
- -V suffix -- suffix to append to targets (before any . suffix)
- eg: -V _g would change 'foo' to 'foo_g' and
- 'libfoo.a' to 'libfoo_g.a'
- -m mode -- mode for new file(s)"
-
-fatal() {
- if [ "$1" ]
- then
- echo $* >&2
- fi
- echo "$USAGE" 1>&2
- exit 1
-}
-
-#
-# process the options
-#
-
-verbose=""
-suffix=""
-mode=""
-
-while getopts vm:V: OPT
-do
- case "$OPT" in
- v)
- verbose="yes";;
- V)
- eval suffix=$OPTARG;;
- m)
- mode="$OPTARG";;
- *)
- fatal
- esac
-done
-
-shiftcount=`expr $OPTIND - 1`
-shift $shiftcount
-
-args=$*
-
-#
-# Separate source file(s) from dest directory or file
-#
-
-files=""
-dest=""
-for d in $args
-do
- files="$files $dest"
- dest=$d
-done
-
-if [ ! "$files" ] || [ ! "$dest" ]
-then
- fatal "missing files or invalid destination"
-fi
-
-#
-# Process the arguments
-#
-
-targets=""
-for f in $files
-do
- # leaf=`basename $f`
- leaf=${f##*/} # fast basename hack for ksh, bash
-
- target=$dest
- if [ -d $dest ]
- then
- # if we were given a suffix, then add it as appropriate
- if [ "$suffix" ]
- then
- case $f in
- *.*)
- # leaf=`echo $leaf |
- # /bin/sed "s/\([~\.]*\)\.\(.*\)$/\1$suffix.\2/"`
- # ksh,bash hack for above sed script
- leaf=${leaf%%.*}$suffix.${leaf#*.}
-
- [ "$verbose" = "yes" ] &&
- echo "$progname: $f will be installed as $leaf"
- ;;
- *)
- leaf=$leaf$suffix;;
- esac
- fi
- target=$target/$leaf
- fi
-
- [ ! -r $f ] && fatal "can not read $f"
-
- if cmp -s $f $target
- then
- [ "$verbose" = "yes" ] && echo "'$f' not newer than '$target'"
- else
- [ "$verbose" = "yes" ] && echo "rm -f $target"
- rm -f $target
- echo "cp -p $f $target"
- cp -p $f $target || exit 1
- targets="$targets $target" # keep list for chmod below
- fi
-done
-
-if [ "$mode" -a "$targets" ]
-then
- [ "$verbose" = "yes" ] && echo "chmod $mode $targets"
- chmod $mode $targets
-fi
-
-exit 0
-
-# Local Variables: ***
-# mode:ksh ***
-# End: ***
--
2.13.7
More information about the devel
mailing list