From bac8d934189c02635cca752d36dce1fdad6338b8 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 15 Jun 2018 08:18:26 +0200 Subject: tools: Remove install-if-change program 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 header file. */ -#undef HAVE_GETOPT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_LIBGEN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the 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 header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the 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 header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the 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: *** -- cgit v1.2.3