🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.sys.ibm.pc.rt
2 messages
2 total messages Started by ROQUE DONIZETE DE OLIVEIRA Fri, 31 Aug 1990 18:41
cpp problem on RS6000
#866
Author: ROQUE DONIZETE DE OLIVEIRA
Date: Fri, 31 Aug 1990 18:41
38 lines
1709 bytes
Does anyone know why cpp on the RS6000 doesn't like the comment lines
in the file below (xanadu is an IBM RS/6000):

xanadu% cat /tmp/t
/**/# The binaries go here
BINDIR                  = /usr/um/math/bin
/**/# The libraries go here
LIBDIR                  = /usr/um/math/lib
xanadu% 
xanadu% /lib/cpp /tmp/t /tmp/t.out
        1 |  # The binaries go here
            ..a....................
a - 1288-218: (W) Unknown preprocessing directive The.
        3 |  # The libraries go here
            ..a.....................
a - 1288-218: (W) Unknown preprocessing directive The.
xanadu% 
xanadu% cat /tmp/t.out
# 1 "/tmp/t"
BINDIR                  = /usr/um/math/bin
LIBDIR                  = /usr/um/math/lib


As you can see, it didn't like the comment lines. On other systems, like
apollos, suns or dec3100, I would get (as the output file /tmp/t.out ):

# 1 "/tmp/t"
# The binaries go here
BINDIR			= /usr/um/math/bin
# The libraries go here
LIBDIR			= /usr/um/math/lib

Does anyone know if this is a bug or how I can coerce cpp to do what I want ?
Thanks.
      
      Roque Oliveira
      oliveria@caen.engin.umich.edu
      Computer Aided Engineering Network
Re: cpp problem on RS6000
#867
Author: Eng-Shien Wu/16000000
Date: Fri, 31 Aug 1990 23:25
52 lines
2649 bytes
The Risc System/6000 uses an ANSI-compatible cpp where the following
line is not legal:

/**/ #it thinks this is a macro statement, because they can start anywhere

The solution is to use the cpp in /usr/lpp/X11/Xamples/util/cpp/cpp.
An excerpt from the document "Porting 4.3 BSD Programs to AIX Version 3.1":
---------------------------------------------------------------------------


   5.2.  /lib/cpp

      /lib/cpp is not the Kernighan & Ritchie cpp.   In-
      stead,  it is the same preprocessor as the AIXv3.1
      C compiler uses, but externalized, and it  uses  a
      default  language level of extended.  For example,
      /lib/cpp does not have to start preprocessor  mac-
      ros  in the first column (mandated by ANSI C), but
      any text after an #endif is ignored  (not  allowed
      by ANSI C).  The flags -tp -B/path/ can be used as
      compiler arguments to cause /path/cpp to  be  used
      for  preprocessing  the  source  file (see below).
      For example, to compile a single C source program,
      file.c, using /lib/cpp instead of the C compiler's
      built-in preprocessor, use:

              cc -tp -B/lib/ file.c


      See the InfoExplorer documentation in Appendix  A.
      of  the XL C Reference Manual for more information
      about language levels.

   5.3.  Kernighan & Ritchie cpp

      Because there are many programs, specifically  X11
      programs,  that  rely on the behavior of the K&R C
      preprocessor,   this   has   been   provided    in
      /usr/lpp/X11/Xamples/util/cpp/cpp.   To  get  this
      used as the C preprocessor, you need to  have  the
      X11   Development  LPP  installed  and  invoke  it
      directly,      use       the       flags       -tp
      -B/usr/lpp/X11/Xamples/util/cpp/   with  the  com-
      piler, or modify the /etc/xlc.cfg stanza  as  men-
      tioned above.

---------------------------------------------------------------------------

-- Eng-Shien Wu,  "My views only"

	X Windows, IBM Advanced Workstations Div, Austin, Texas
	Internet: eswu@ub.cc.umich.edu    VNET: ausvmq(engshien)
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads