X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=misc%2Frun_tic.in;h=784f9f42bff02a1c02180221ea9a1063bcc8f9d3;hp=295ae0780d725b1b2b440924577f95b57e5e757b;hb=aefc1659d732acf7e62c0c78a443d6d8352a3c6e;hpb=46722468f47c2b77b3987729b4bcf2321cccfd01 diff --git a/misc/run_tic.in b/misc/run_tic.in index 295ae078..784f9f42 100644 --- a/misc/run_tic.in +++ b/misc/run_tic.in @@ -1,6 +1,7 @@ #!@SHELL@ +# $Id: run_tic.in,v 1.34 2012/10/06 19:00:51 tom Exp $ ############################################################################## -# Copyright (c) 1998,2000 Free Software Foundation, Inc. # +# Copyright (c) 1998-2011,2012 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"), # @@ -27,9 +28,8 @@ # authorization. # ############################################################################## # -# Author: Thomas E. Dickey 1996,2000 +# Author: Thomas E. Dickey 1996-on # -# $Id: run_tic.in,v 1.11 2001/10/14 00:44:33 tom Exp $ # This script is used to install terminfo.src using tic. We use a script # because the path checking is too awkward to do in a makefile. # @@ -41,83 +41,129 @@ 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@"} -: ${THAT_CC=cc} -: ${THIS_CC=cc} +: ${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_PATH@} +: ${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 "$THAT_CC" = "$THIS_CC" ; then -case "$PATH" in -:*) PATH=../progs:${DESTDIR}$bindir$PATH ;; -*) PATH=../progs:${DESTDIR}$bindir:$PATH ;; -esac -export PATH +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= fi -# + # set another env var that doesn't get reset when `shlib' runs, so `shlib' uses # the PATH we just set. -# -NEWPATH=$PATH -export NEWPATH -PROG_BIN_DIR=${DESTDIR}$bindir -export PROG_BIN_DIR +SHLIB_PATH=$PATH +export SHLIB_PATH +# set a variable to simplify environment update in shlib +SHLIB_HOST=@host_os@ +export SHLIB_HOST + +# don't use user's TERMINFO variable 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/@'` +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. -( cd $TERMINFO && rm -fr ? 2>/dev/null ) - -# If we're not installing into /usr/share/, we'll have to adjust the location -# of the tabset files in terminfo.src (which are in a parallel directory). -TABSET=`echo $ticdir | sed -e 's@/terminfo$@/tabset@'` -if test "x$TABSET" != "x/usr/share/tabset" ; then - echo '** adjusting tabset paths' - TMP=${TMPDIR-/tmp}/$$ - sed -e s:/usr/share/tabset:$TABSET:g $source >$TMP - trap "rm -f $TMP" 0 1 2 5 15 - source=$TMP -fi +( test -d "$TERMINFO" && cd $TERMINFO && rm -fr ? 2>/dev/null ) +if test "$ext_funcs" = 1 ; then cat <