configure: improve temp file creation and cleanup
Originally committed as revision 17752 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
2e78513cee
commit
54460a8347
37
configure
vendored
37
configure
vendored
@ -257,7 +257,6 @@ Include the log file "$logfile" produced by configure as this will help
|
|||||||
solving the problem.
|
solving the problem.
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
rm -f $TMPC $TMPE $TMPH $TMPO $TMPS $TMPSH
|
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1342,12 +1341,33 @@ esac
|
|||||||
: ${TMPDIR:=$TMP}
|
: ${TMPDIR:=$TMP}
|
||||||
: ${TMPDIR:=/tmp}
|
: ${TMPDIR:=/tmp}
|
||||||
|
|
||||||
TMPC="${TMPDIR}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.c"
|
if ! check_cmd type mktemp; then
|
||||||
TMPE="${TMPDIR}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}${EXESUF}"
|
# simple replacement for missing mktemp
|
||||||
TMPH="${TMPDIR}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.h"
|
# NOT SAFE FOR GENERAL USE
|
||||||
TMPO="${TMPDIR}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.o"
|
mktemp(){
|
||||||
TMPS="${TMPDIR}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.S"
|
echo "${2%XXX*}.${HOSTNAME}.${UID}.$$"
|
||||||
TMPSH="${TMPDIR}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.sh"
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
tmpfile(){
|
||||||
|
tmp=$(mktemp -u "${TMPDIR}/ffconf.XXXXXXXX")$2 &&
|
||||||
|
(set -C; exec > $tmp) 2>/dev/null ||
|
||||||
|
die "Unable to create temoporary file in $TMPDIR."
|
||||||
|
append TMPFILES $tmp
|
||||||
|
eval $1=$tmp
|
||||||
|
}
|
||||||
|
|
||||||
|
trap 'rm -f -- $TMPFILES' EXIT
|
||||||
|
trap exit HUP INT TERM
|
||||||
|
|
||||||
|
tmpfile TMPC .c
|
||||||
|
tmpfile TMPE $EXESUF
|
||||||
|
tmpfile TMPH .h
|
||||||
|
tmpfile TMPO .o
|
||||||
|
tmpfile TMPS .S
|
||||||
|
tmpfile TMPSH .sh
|
||||||
|
|
||||||
|
unset -f mktemp
|
||||||
|
|
||||||
# make sure we can execute files in $TMPDIR
|
# make sure we can execute files in $TMPDIR
|
||||||
cat > $TMPSH 2>> $logfile <<EOF
|
cat > $TMPSH 2>> $logfile <<EOF
|
||||||
@ -1361,7 +1381,6 @@ variable to another directory and make sure that it is not mounted noexec.
|
|||||||
EOF
|
EOF
|
||||||
die "Sanity test failed."
|
die "Sanity test failed."
|
||||||
fi
|
fi
|
||||||
rm $TMPSH
|
|
||||||
|
|
||||||
if $cc --version 2>/dev/null | grep -qi gcc; then
|
if $cc --version 2>/dev/null | grep -qi gcc; then
|
||||||
cc_type=gcc
|
cc_type=gcc
|
||||||
@ -2484,8 +2503,6 @@ cmp -s $TMPH config.h &&
|
|||||||
echo "config.h is unchanged" ||
|
echo "config.h is unchanged" ||
|
||||||
mv -f $TMPH config.h
|
mv -f $TMPH config.h
|
||||||
|
|
||||||
rm -f $TMPC $TMPE $TMPH $TMPO $TMPS $TMPSH
|
|
||||||
|
|
||||||
# build tree in object directory if source path is different from current one
|
# build tree in object directory if source path is different from current one
|
||||||
if enabled source_path_used; then
|
if enabled source_path_used; then
|
||||||
DIRS="\
|
DIRS="\
|
||||||
|
Loading…
x
Reference in New Issue
Block a user