#! /bin/sh # # Prex configuration script # quit() { cat >&2 <>$CONFIG_MK if [ "$2" = "n" ] ; then echo "#undef $1" >>$CONFIG_H else echo "#define $1 $2" >>$CONFIG_H fi } setgccoption() { if $cc $1 -S -xc /dev/null -o /dev/null > /dev/null 2>&1; then echo "CONFIG_CFLAGS+= $1" >>$CONFIG_MK fi } parseconfig() { while read line; do word=`expr "x$line" : 'x\(CONFIG_[A-Za-z0-9_=]*\)'` param=`expr "x$word" : 'x\([^=]*\)='` value=`expr "x$word" : 'x[^=]*=\([A-Za-z0-9]*\)'` if [ -n "$param" ] ; then setparm "$param" "$value" fi done < $1 echo "" >> $CONFIG_MK } main() { setdefaults getoptions "$@" gettarget checkpath echo "Processing configuration files..." echo "#" > $CONFIG_MK echo "# Automatically generated file. Don't edit" >> $CONFIG_MK echo "#" >> $CONFIG_MK echo "/*" > $CONFIG_H echo " * Automatically generated file. Don't edit" >> $CONFIG_H echo " */" >> $CONFIG_H # # Generate configuration parameters # parseconfig $CONFIG_IN parseconfig $CMDBOX_IN # # Check arch/platform setting # echo "SRCDIR=$srcdir" >> $CONFIG_MK echo "ARCH=$arch" >> $CONFIG_MK echo "PLATFORM=$platform" >> $CONFIG_MK [ "x$cross" != x ] && echo "CROSS_COMPILE=$cross" >> $CONFIG_MK [ "x$nodebug" != x ] && echo "NDEBUG=1" >> $CONFIG_MK echo "" >> $CONFIG_MK # # Check gcc options # setgccoption "-fno-stack-protector" setgccoption "-Wno-variadic-macros" } main "$@"