51 lines
1 KiB
Bash
Executable file
51 lines
1 KiB
Bash
Executable file
#!/bin/sh
|
|
# Return a full cpp specification, complete with system dependent flags.
|
|
#
|
|
# Syntax: cppmagic [ program-to-generate-flags [ guessed-cpp ]]
|
|
#
|
|
# If only one arg is present it is the name of a program to invoke
|
|
# which should generate -Dfoo defines.
|
|
#
|
|
# If two args are present the second arg is the name of the C
|
|
# preprocessor to use.
|
|
#
|
|
# Invoked with no args, provides a C preprocessor name and
|
|
# -traditional flag if that is appropriate.
|
|
#
|
|
# ../Makefile calls this file thusly: "cppmagic getcppsyms".
|
|
#
|
|
# Typical output:
|
|
#
|
|
# /lib/cpp -Dunix -Dm68k
|
|
#
|
|
|
|
Cpp=
|
|
|
|
if [ "$2" ]; then
|
|
Cpp=$2
|
|
else
|
|
for cpp in /lib/cpp /usr/lib/cpp /usr/ccs/lib/cpp; do
|
|
if [ -f $cpp ]; then
|
|
Cpp=$cpp
|
|
fi
|
|
done
|
|
if [ "$Cpp" = "" ]; then
|
|
Cpp=cpp
|
|
fi
|
|
fi
|
|
|
|
TRADITIONAL=
|
|
FLAGS=
|
|
|
|
# First flag might be `-traditional' if this is Gnu Cpp.
|
|
unknown_flag=`$Cpp -traditional /dev/null 2>&1 |
|
|
egrep 'known|recognized|valid|bad|legal'`
|
|
if [ "$unknown_flag" = "" ]; then
|
|
TRADITIONAL=-traditional
|
|
fi
|
|
|
|
if [ "$1" ]; then
|
|
FLAGS=`$1`
|
|
fi
|
|
|
|
echo $Cpp $TRADITIONAL $FLAGS
|