#! /bin/sh # Copyright (C) 2002, 2004 Free Software Foundation, Inc. # # This file is part of GNU Automake. # # GNU Automake 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, or (at your option) # any later version. # # GNU Automake 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 Automake; see the file COPYING. If not, write to # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, # Boston, MA 02110-1301, USA. # Various install-sh checks . ./defs || exit 1 set -e # Basic errors ./install-sh && exit 1 ./install-sh -m 644 dest && exit 1 # Directories # It should be OK to create no directory. We sometimes need # this when directory are conditionally defined. ./install-sh -d # One directory. ./install-sh -d d0 test -d d0 # Multiple directories (for make installdirs). ./install-sh -d d1 d2 d3 d4 test -d d1 test -d d2 test -d d3 test -d d4 # Subdirectories ./install-sh -d p1/p2/p3 p4//p5//p6// test -d p1/p2/p3 test -d p4/p5/p6 # Files. : > x ./install-sh -c -m 644 x y test -f x test -f y ./install-sh -m 644 y z test -f y test -f z # Multiple files ./install-sh -m 644 -c x z d1 test -f x test -f z test -f d1/x test -f d1/z ./install-sh -m 644 x z d2// test -f x test -f z test -f d2/x test -f d2/z ./install-sh -t d3 -m 644 x z test -f x test -f z test -f d3/x test -f d3/z ./install-sh -t d4// -m 644 x z test -f x test -f z test -f d4/x test -f d4/z ./install-sh -T x d3/y test -f x test -f d3/y ./install-sh -T x d3 && exit 1 ./install-sh -T x d4// && exit 1 # Ensure that install-sh works with names that include spaces touch 'a b' mkdir 'x y' ./install-sh 'a b' 'x y' test -f x\ \ y/a\ \ b test -f 'a b'