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:
@@ -26,6 +26,9 @@ have_library vorbisfile || exit 1
|
|||||||
define_have_symbol strupr
|
define_have_symbol strupr
|
||||||
define_have_symbol stricmp
|
define_have_symbol stricmp
|
||||||
|
|
||||||
|
# Check for getopt.h
|
||||||
|
define_have_header getopt.h
|
||||||
|
|
||||||
|
|
||||||
# Describe the menu:
|
# Describe the menu:
|
||||||
MENU_main_ITEMS="debug graphics sound link install_path"
|
MENU_main_ITEMS="debug graphics sound link install_path"
|
||||||
|
|||||||
@@ -253,6 +253,43 @@ EOF
|
|||||||
fi
|
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
|
# Description: Add a symbol to be replaced by substitute_vars
|
||||||
# $HAVE_SYMBOLS will contain the variable names of all
|
# $HAVE_SYMBOLS will contain the variable names of all
|
||||||
# symbols added by define_have_symbol and should be passed to
|
# symbols added by define_have_symbol and should be passed to
|
||||||
@@ -303,14 +340,11 @@ substitute_vars() {
|
|||||||
eval FILES=\"\$$2\"
|
eval FILES=\"\$$2\"
|
||||||
|
|
||||||
for VAR in $VARS; do
|
for VAR in $VARS; do
|
||||||
# Using CR as a seperator, as it's unlikely that's used in
|
# Escape all / in VAR so that we can use / as seperator char for sed
|
||||||
# $VAR itself.
|
|
||||||
eval VALUE=\"\$$VAR\"
|
eval VALUE=\"\$$VAR\"
|
||||||
|
VALUE=$(echo "$VALUE" | sed 's,\([\&/]\),\\\1,g')
|
||||||
cat << EOF
|
cat << EOF
|
||||||
s
|
s/@${VAR}@/${VALUE}/g
|
||||||
@${VAR}@
|
|
||||||
${VALUE}
|
|
||||||
g
|
|
||||||
EOF
|
EOF
|
||||||
done > "${TEMPFILE}.sed"
|
done > "${TEMPFILE}.sed"
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
uqm_SUBDIRS=sc2code
|
uqm_SUBDIRS="sc2code getopt"
|
||||||
uqm_CFILES="options.c port.c starcon2.c"
|
uqm_CFILES="options.c port.c starcon2.c"
|
||||||
|
|
||||||
test_CFILES=test.c
|
test_CFILES=test.c
|
||||||
|
|||||||
@@ -10,3 +10,6 @@
|
|||||||
/* Defined if your system has stricmp of its own */
|
/* Defined if your system has stricmp of its own */
|
||||||
@HAVE_STRICMP@
|
@HAVE_STRICMP@
|
||||||
|
|
||||||
|
/* Defined if your system has getopt.h */
|
||||||
|
@HAVE_GETOPT_H@
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
uqm_CFILES="getopt.c getopt1.c"
|
||||||
@@ -31,6 +31,7 @@
|
|||||||
# include <config.h>
|
# include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_GETOPT_H
|
||||||
#if !defined __STDC__ || !__STDC__
|
#if !defined __STDC__ || !__STDC__
|
||||||
/* This is a separate conditional since some stdc systems
|
/* This is a separate conditional since some stdc systems
|
||||||
reject `defined (const)'. */
|
reject `defined (const)'. */
|
||||||
@@ -1057,3 +1058,5 @@ main (argc, argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endif /* TEST */
|
#endif /* TEST */
|
||||||
|
|
||||||
|
#endif /* HAVE_GETOPT_H */
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_GETOPT_H
|
||||||
#include "getopt.h"
|
#include "getopt.h"
|
||||||
|
|
||||||
#if !defined __STDC__ || !__STDC__
|
#if !defined __STDC__ || !__STDC__
|
||||||
@@ -186,3 +187,5 @@ main (argc, argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endif /* TEST */
|
#endif /* TEST */
|
||||||
|
|
||||||
|
#endif /* HAVE_GETOPT_H */
|
||||||
|
|||||||
+5
-1
@@ -18,10 +18,14 @@
|
|||||||
|
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <getopt.h>
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#else
|
#else
|
||||||
#include <direct.h>
|
#include <direct.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_GETOPT_H
|
||||||
|
#include <getopt.h>
|
||||||
|
#else
|
||||||
#include "getopt/getopt.h"
|
#include "getopt/getopt.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user