Re: OS/2 and configure



Hi, Pavel.  I played with 'configure' from the Dec 5, 2001 snapshot. 
Here's a few things I ran across.  The first two look like they would
also apply to other PC-type operating systems as well as OS/2:

1)
line 16691:
    # Create a (secure) tmp directory for tmp files.
    : ${TMPDIR=/tmp}

My $TMP environment variable = N:\temp.  Configure seems to create some
temporary files in N:\temp and others in \tmp.  Havoc results.  I didn't
try to figure out where configure does what, but changing it to this
seems to fix the problem:

    # Create a (secure) tmp directory for tmp files.
    if [ -n "$TMP" ] ; then
        TMPDIR=$TMP
    else
        TMPDIR=/tmp
    fi


2)
Configure checks for a working 'ln -s'; if not found it sets
$as_ln_s='cp -p'.  But in a couple of places 'ln' is hard-coded:

lines 14550 and 15729:
       case "$srcdir" in
           /*) ln -sf  $srcdir/slang/slang-mc.h slang/slang.h;;
           *)  ln -sf  ../$srcdir/slang/slang-mc.h slang/slang.h;;
       esac

My workaround was to change it to:
       case "$srcdir" in
           /*) ${as_ln_s}f  $srcdir/slang/slang-mc.h slang/slang.h;;
           *)  ${as_ln_s}f  ../$srcdir/slang/slang-mc.h slang/slang.h;;
       esac

Aesthetically inelegant, since it depends on the fact that 'ln' and 'cp'
both use a -f switch for the same purpose, but those are the only choices
configure offers anyway.


3)
I'm not sure what to make of this one.  At the same place, line 15729,
       case "$srcdir" in
           /*) ${as_ln_s}f  $srcdir/slang/slang-mc.h slang/slang.h;;
           *)  ${as_ln_s}f  ../$srcdir/slang/slang-mc.h slang/slang.h;;
       esac

$srcdir='.', and I get an error from cp: ".././slang/slang-mc.h no such
file or directory".  The correct filespec is $srcdir/slang/slang-mc.h. 
I don't see how it could be OS/2-related, but if the 'case' logic were
broken, you would know it.  So I copied the file by hand.  Not serious,
but puzzling.


4)
line 9845:
    WARNING: could not determine how to read list of mounted fs

Hm, that sounds serious.  Don't know what it means yet.  

5)
line 17362:
  for file in `sed -n -e '
    /^DEP_FILES = .*\\\\$/ {
      s/^DEP_FILES = //
      :loop
        s/\\\\$//
        p
        n
        /\\\\$/ b loop
      p
    }
    /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do

For some reason, I sometimes get a tab character in $file.  As I said
earlier, the only language I know is DOS Basic, and that block of code
is a dark and sinister mystery to me.  I =think= this is probably
something broken in OS/2's 'sed', but I mention it because I am
frequently wrong.

My workaround is to insert a sed command to strip any tabs.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]