Re: We interrupt you regularly scheduled catfight for.. Linux 2.2.18pre13

From: Christoph Hellwig (hch@caldera.de)
Date: Sat Sep 30 2000 - 19:07:55 EDT

  • Next message: Alan Cox: "Re: We interrupt you regularly scheduled catfight for.. Linux 2.2.18pre13"

    > o Fix the 'which' compiler stuff (Horst von Brand,
    > Peter Samuelson)
    > | Can someone verify for me this works on Slackware and
    > | on Caldera ?

    It breaks on Caldera.
    The errors are:

    ------ snip -----
    bin/sh: syntax error near unexpected token `(/'
    /bin/sh: -c: line 1: `if which: no gcc272 in (/bin:/usr/bin:/usr/sbin:/sbin:/home/lstguest/hch/bin)
    which: no kgcc in (/bin:/usr/bin:/usr/sbin:/sbin:/home/lstguest/hch/bin) cc -D__KERNEL__
    -I/home.stand/lstguest/hch/linux/include -fno-strict-aliasing -S -o /dev/null -xc /dev/null >/dev/null
    2>&1; then echo "-fno-strict-aliasing"; fi'
    (/bin:/usr/bin:/usr/sbin:/sbin:/home/lstguest/hch/bin) cc -D__KERNEL__
    -I/home.stand/lstguest/hch/linux/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -D__SMP__
    -pipe -fno-strength-reduce -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=686 -v 2>&1
    ------ snip -----

    The problem is that the which output is not ignored.
    The following patch fixes it:

    ----- snip -----

    --- Makefile~ Sun Oct 1 00:46:27 2000
    +++ Makefile Sun Oct 1 00:49:27 2000
    @@ -23,7 +23,7 @@
     AS =$(CROSS_COMPILE)as
     LD =$(CROSS_COMPILE)ld
     CC =$(shell if [ -n "$(CROSS_COMPILE)" ]; then echo $(CROSS_COMPILE)cc; else \
    - which gcc272 2>/dev/null || which kgcc 2>/dev/null || echo cc; fi) \
    + which gcc272 >/dev/null 2>/dev/null || which kgcc > /dev/null 2>/dev/null || echo cc; fi) \
             -D__KERNEL__ -I$(HPATH)
     #CC =$(CROSS_COMPILE)cc -D__KERNEL__ -I$(HPATH)
     CPP =$(CC) -E
    ----- snip -----

    I personally dislike the 'autmatically detect kgcc and gcc272' patches a lot,
    and I think we should put a sentence like

    If you are using a distribution that ships with a default C compiler that is
    not able to compile linux kernel, use make CC=kgcc (redhat) or CC=gcc272
    (debian) instead.

    into README, instead of fiddling around with a command/program with lots of
    different and incompatible versions.

            Christoph

    -- 
    Always remember that you are unique.  Just like everyone else.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    Please read the FAQ at http://www.tux.org/lkml/
    



    This archive was generated by hypermail 2b29 : Sat Sep 30 2000 - 19:11:26 EDT