Getopt() fixes, from Max Horn.

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@351 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
meep-eep
2002-12-05 23:37:33 +00:00
parent fc73eb26df
commit b570cf1943
8 changed files with 59 additions and 8 deletions
+3
View File
@@ -26,6 +26,9 @@ have_library vorbisfile || exit 1
define_have_symbol strupr
define_have_symbol stricmp
# Check for getopt.h
define_have_header getopt.h
# Describe the menu:
MENU_main_ITEMS="debug graphics sound link install_path"
+40 -6
View File
@@ -253,6 +253,43 @@ EOF
fi
}
# Description: check if a header is available.
# Arguments: $1 - the name of the header file
have_header() {
local HEADER
HEADER="$1"
try_compile_c "$TEMP_CFLAGS" "$TEMP_LDFLAGS" << EOF 2>&1 > /dev/null
#include <$HEADER>
int main() {
return 0;
}
EOF
if [ $? -gt 0 ]; then
build_message "Header '$HEADER' not found."
return 1
fi
build_message "Header '$HEADER' found."
return 0
}
# Description: check if a header is available.
# set HAVE_<NAME> accordingly, where <NAME> is the capitalized
# name of the header file. "sys/time.h" becomes "SYS_TIME_H".
# Arguments: $1 - the name of the symbol
define_have_header() {
local NAME VALUE
NAME=`$TR /.a-z __A-Z << EOF
$1
EOF
`
if have_header "$1"; then
add_symbol "HAVE_$NAME" "#define HAVE_$NAME"
else
add_symbol "HAVE_$NAME" "#undef HAVE_$NAME"
fi
}
# Description: Add a symbol to be replaced by substitute_vars
# $HAVE_SYMBOLS will contain the variable names of all
# symbols added by define_have_symbol and should be passed to
@@ -303,14 +340,11 @@ substitute_vars() {
eval FILES=\"\$$2\"
for VAR in $VARS; do
# Using CR as a seperator, as it's unlikely that's used in
# $VAR itself.
# Escape all / in VAR so that we can use / as seperator char for sed
eval VALUE=\"\$$VAR\"
VALUE=$(echo "$VALUE" | sed 's,\([\&/]\),\\\1,g')
cat << EOF
s
@${VAR}@
${VALUE}
g
s/@${VAR}@/${VALUE}/g
EOF
done > "${TEMPFILE}.sed"