X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=misc%2Frun_tic.in;h=6d019decd9d51b63f0cfff7b2e875f817bbfd21a;hp=fa20601e3b17829c9a2decc850695cd2ac3a20d0;hb=a8dfaf0998c91b39c5c0a4913987cd67ca622bff;hpb=bbb7fd37298f7d81386a4cf868417b9e084d7d90 diff --git a/misc/run_tic.in b/misc/run_tic.in index fa20601e..6d019dec 100644 --- a/misc/run_tic.in +++ b/misc/run_tic.in @@ -1,7 +1,7 @@ #!@SHELL@ -# $Id: run_tic.in,v 1.24 2009/08/15 17:19:36 tom Exp $ +# $Id: run_tic.in,v 1.36 2019/06/30 16:29:23 tom Exp $ ############################################################################## -# Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. # +# Copyright (c) 1998-2017,2019 Free Software Foundation, Inc. # # # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # @@ -36,42 +36,62 @@ # Assumes: # The leaf directory names (lib, tabset, terminfo) # -echo '** Building terminfo database, please wait...' +echo "** Building terminfo database, please wait..." # # The script is designed to be run from the misc/Makefile as # make install.data -: ${suffix=@PROG_EXT@} -: ${DESTDIR=@DESTDIR@} -: ${prefix=@prefix@} -: ${exec_prefix=@exec_prefix@} -: ${bindir=@bindir@} -: ${top_srcdir=@top_srcdir@} -: ${srcdir=@srcdir@} -: ${datadir=@datadir@} -: ${ticdir=@TERMINFO@} -: ${source=@TERMINFO_SRC@} -: ${LN_S="@LN_S@"} -: ${cross_compiling=no} -: ${ext_funcs=@NCURSES_EXT_FUNCS@} +: ${suffix:=@EXEEXT@} +: ${DESTDIR:=@DESTDIR@} +: ${prefix:=@prefix@} +: ${exec_prefix:=@exec_prefix@} +: ${bindir:=@bindir@} +: ${top_srcdir:=@top_srcdir@} +: ${srcdir:=@srcdir@} +: ${datarootdir:=@datarootdir@} +: ${datadir:=@datadir@} +: ${TIC_PATH:=@TIC@} +: ${ticdir:=@TERMINFO@} +: ${source:=@TERMINFO_SRC@} +: ${LN_S:="@LN_S@"} +: ${cross_compiling:=no} +: ${ext_funcs:=@NCURSES_EXT_FUNCS@} test -z "${DESTDIR}" && DESTDIR= # Allow tic to run either from the install-path, or from the build-directory. # Do not do this if we appear to be cross-compiling. In that case, we rely # on the host's copy of tic to compile the terminfo database. -if test "x$cross_compiling" = "xno" ; then -case "$PATH" in -@PATH_SEPARATOR@*) PATH=../progs@PATH_SEPARATOR@../lib@PATH_SEPARATOR@${DESTDIR}$bindir$PATH ;; -*) PATH=../progs@PATH_SEPARATOR@../lib@PATH_SEPARATOR@${DESTDIR}$bindir@PATH_SEPARATOR@$PATH ;; -esac -export PATH -SHLIB="sh $srcdir/shlib" +if test "x$cross_compiling" = "xno" +then + if test -f ../progs/tic$suffix + then + case "$PATH" in + \@PATH_SEPARATOR@*) + PATH="../progs@PATH_SEPARATOR@../lib@PATH_SEPARATOR@${DESTDIR}$bindir$PATH" + ;; + *) + PATH="../progs@PATH_SEPARATOR@../lib@PATH_SEPARATOR@${DESTDIR}$bindir@PATH_SEPARATOR@$PATH" + ;; + esac + export PATH + if test @DFT_LWR_MODEL@ = shared + then + SHLIB="sh $srcdir/shlib" + TIC_PATH="$SHLIB tic" + else + TIC_PATH="tic" + fi + elif test "$TIC_PATH" = unknown + then + echo "? no tic program found" + exit 1 + fi else -# Cross-compiling, so don't set PATH or run shlib. -SHLIB= -# reset $suffix, since it applies to the target, not the build platform. -suffix= + # Cross-compiling, so don't set PATH or run shlib. + SHLIB= + # reset $suffix, since it applies to the target, not the build platform. + suffix= fi @@ -85,21 +105,36 @@ SHLIB_HOST=@host_os@ export SHLIB_HOST # don't use user's TERMINFO variable -TERMINFO=${DESTDIR}$ticdir ; export TERMINFO +unset TERMINFO_DIRS +TERMINFO="${DESTDIR}$ticdir" ; export TERMINFO umask 022 # Construct the name of the old (obsolete) pathname, e.g., /usr/lib/terminfo. -TICDIR=`echo $TERMINFO | sed -e 's%/share/\([^/]*\)$%/lib/\1%'` +TICDIR=`echo "$TERMINFO" | sed -e 's%/share/\([^/]*\)$%/lib/\1%'` + +# Parent directory may not exist, which would confuse the install for hashed +# database. Fix. +PARENT=`echo "$TERMINFO" | sed -e 's%/[^/]*$%%'` +if test -n "$PARENT" +then + test -d $PARENT || mkdir -p $PARENT +fi # Remove the old terminfo stuff; we don't care if it existed before, and it # would generate a lot of confusing error messages if we tried to overwrite it. # We explicitly remove its contents rather than the directory itself, in case # the directory is actually a symbolic link. -( test -d "$TERMINFO" && cd $TERMINFO && rm -fr ? 2>/dev/null ) +if test -d "$TERMINFO" +then + ( cd "$TERMINFO" && rm -fr ? 2>/dev/null ) +elif test -f "$TERMINFO.db" +then + ( rm -f "$TERMINFO.db" 2>/dev/null ) +fi if test "$ext_funcs" = 1 ; then cat </dev/null ) - if ( cd $TICDIR 2>/dev/null ) + ( rm -f "$TICDIR" 2>/dev/null ) + if ( cd "$TICDIR" 2>/dev/null ) then - cd $TICDIR + cd "$TICDIR" TICDIR=`pwd` - if test $TICDIR != $TERMINFO ; then + if test "$TICDIR "!= "$TERMINFO "; then # Well, we tried. Some systems lie to us, so the # installer will have to double-check. echo "Verify if $TICDIR and $TERMINFO are the same." @@ -162,11 +197,11 @@ if test "$TICDIR" != "$TERMINFO" ; then if test "$RELATIVE" != "$ticdir" ; then RELATIVE=../`echo $ticdir|sed -e 's%^'$prefix'/%%' -e 's%^/%%'` fi - if ( @LN_S@ $RELATIVE $TICDIR ) + if ( @LN_S@ "$RELATIVE" "$TICDIR" ) then - echo '** sym-linked '$TICDIR' for compatibility' + echo "** sym-linked $TICDIR for compatibility" else - echo '** could not sym-link '$TICDIR' for compatibility' + echo "** could not sym-link $TICDIR for compatibility" fi fi fi