Made the unix build scripts more portable. It will be necessary to
rerun './build.sh config' as build.vars.in has been modified. Also fixed some small bugs in the redirection of text to /dev/null. git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@1413 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
@@ -1,4 +1,6 @@
|
|||||||
Changes towards version 0.4:
|
Changes towards version 0.4:
|
||||||
|
- Made the unix build scripts more portable. Removed some small
|
||||||
|
bugs. - SvdB
|
||||||
- No longer chdir() to the content dir (bug #564)
|
- No longer chdir() to the content dir (bug #564)
|
||||||
Environment variables and ~ are interpreted in the supplied content
|
Environment variables and ~ are interpreted in the supplied content
|
||||||
path now.
|
path now.
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
COMPILE=gcc
|
COMPILE=gcc
|
||||||
MKDEPEND='gcc -MM'
|
MKDEPEND='gcc -MM'
|
||||||
MAKE='@MAKE@'
|
MAKE='@MAKE@'
|
||||||
|
ECHON='@ECHON@'
|
||||||
uqm_CFLAGS='@CFLAGS@'
|
uqm_CFLAGS='@CFLAGS@'
|
||||||
uqm_LDFLAGS='@LDFLAGS@'
|
uqm_LDFLAGS='@LDFLAGS@'
|
||||||
uqm_INSTALL_BINDIR='@INSTALL_BINDIR@'
|
uqm_INSTALL_BINDIR='@INSTALL_BINDIR@'
|
||||||
|
|||||||
@@ -222,7 +222,7 @@ uqm_process_config() {
|
|||||||
substitute_vars SUBSTITUTE_VARS SUBSTITUTE_FILES src "$BUILD_WORK"
|
substitute_vars SUBSTITUTE_VARS SUBSTITUTE_FILES src "$BUILD_WORK"
|
||||||
|
|
||||||
# Make build.vars from build.vars.in, substituting variables.
|
# Make build.vars from build.vars.in, substituting variables.
|
||||||
SUBSTITUTE_VARS="CFLAGS LDFLAGS MAKE DEBUG SOUNDMODULE HAVE_OPENGL \
|
SUBSTITUTE_VARS="CFLAGS LDFLAGS MAKE ECHON DEBUG SOUNDMODULE HAVE_OPENGL \
|
||||||
USE_ZIP_IO \
|
USE_ZIP_IO \
|
||||||
INSTALL_LIBDIR INSTALL_BINDIR INSTALL_SHAREDIR \
|
INSTALL_LIBDIR INSTALL_BINDIR INSTALL_SHAREDIR \
|
||||||
REZ SETFILE WINDRES"
|
REZ SETFILE WINDRES"
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ if [ -z "$TARGET" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
BUILD_PROJECT="$TARGET"
|
BUILD_PROJECT="$TARGET"
|
||||||
export TARGET BUILD_PROJECT COMPILE MKDEPEND
|
export TARGET BUILD_PROJECT COMPILE MKDEPEND ECHON
|
||||||
export "${BUILD_PROJECT}_CFLAGS" "${BUILD_PROJECT}_LDFLAGS"
|
export "${BUILD_PROJECT}_CFLAGS" "${BUILD_PROJECT}_LDFLAGS"
|
||||||
|
|
||||||
# Add trailing / from objs dir
|
# Add trailing / from objs dir
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ build_do_recursive() {
|
|||||||
|
|
||||||
# Build dependancy information for one file
|
# Build dependancy information for one file
|
||||||
build_dependancies() {
|
build_dependancies() {
|
||||||
eval echo -n \$BUILD_WORK/\${${BUILD_PROJECT}_OBJS}\$BUILD_REC_PATH
|
eval $ECHON \$BUILD_WORK/\${${BUILD_PROJECT}_OBJS}\$BUILD_REC_PATH
|
||||||
eval eval \\\$MKDEPEND \"\${${BUILD_PROJECT}_CFLAGS}\" \"\\\$1\"
|
eval eval \\\$MKDEPEND \"\${${BUILD_PROJECT}_CFLAGS}\" \"\\\$1\"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -95,9 +95,9 @@ build_rec_dependancies() {
|
|||||||
|
|
||||||
eval DEPEND_FILE="\$BUILD_WORK/.depend.\${${BUILD_PROJECT}_NAME}"
|
eval DEPEND_FILE="\$BUILD_WORK/.depend.\${${BUILD_PROJECT}_NAME}"
|
||||||
{
|
{
|
||||||
eval echo -n "\$BUILD_WORK_ESC/target-\${${BUILD_PROJECT}_NAME}:"
|
eval $ECHON "\$BUILD_WORK_ESC/target-\${${BUILD_PROJECT}_NAME}:"
|
||||||
for OFILE in $OFILES $EXTRA_OFILES; do
|
for OFILE in $OFILES $EXTRA_OFILES; do
|
||||||
echo -n " $OFILE"
|
$ECHON " $OFILE"
|
||||||
done
|
done
|
||||||
echo
|
echo
|
||||||
build_do_recursive build_dependancies :
|
build_do_recursive build_dependancies :
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ try_compile_c() {
|
|||||||
fi
|
fi
|
||||||
cat > "$TEMPFILE.c"
|
cat > "$TEMPFILE.c"
|
||||||
echo_and_perform $COMPILE $1 $2 "$TEMPFILE.c" \
|
echo_and_perform $COMPILE $1 $2 "$TEMPFILE.c" \
|
||||||
-o "$TEMPFILE.out" 2>&1 >> "$BUILDLOG"
|
-o "$TEMPFILE.out" >> "$BUILDLOG" 2>&1
|
||||||
RESULT=$?
|
RESULT=$?
|
||||||
rm -f "$TEMPFILE.c" "$TEMPFILE.out"
|
rm -f "$TEMPFILE.c" "$TEMPFILE.out"
|
||||||
return $RESULT
|
return $RESULT
|
||||||
@@ -58,7 +58,7 @@ try_compile_and_run_c() {
|
|||||||
fi
|
fi
|
||||||
cat > "$TEMPFILE.c"
|
cat > "$TEMPFILE.c"
|
||||||
echo_and_perform $COMPILE $1 $2 "$TEMPFILE.c" \
|
echo_and_perform $COMPILE $1 $2 "$TEMPFILE.c" \
|
||||||
-o "$TEMPFILE.out" 2>&1 >> "$BUILDLOG"
|
-o "$TEMPFILE.out" >> "$BUILDLOG" 2>&1
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
return -1
|
return -1
|
||||||
fi
|
fi
|
||||||
@@ -119,7 +119,7 @@ have_program() {
|
|||||||
|
|
||||||
eval eval TEMP_FILE="\\\"\$PROG_${PROG}_FILE\\\""
|
eval eval TEMP_FILE="\\\"\$PROG_${PROG}_FILE\\\""
|
||||||
|
|
||||||
type "$TEMP_FILE" 2>&1 > /dev/null
|
type "${TEMP_FILE%% *}" > /dev/null 2>&1
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
build_message "$TEMP_NAME not found."
|
build_message "$TEMP_NAME not found."
|
||||||
return 1
|
return 1
|
||||||
@@ -245,7 +245,7 @@ have_symbol() {
|
|||||||
|
|
||||||
# TODO: I'll want the include handling to be done differently
|
# TODO: I'll want the include handling to be done differently
|
||||||
# eventually.
|
# eventually.
|
||||||
try_compile_c "$TEMP_CFLAGS" "$TEMP_LDFLAGS" << EOF 2>&1 > /dev/null
|
try_compile_c "$TEMP_CFLAGS" "$TEMP_LDFLAGS" << EOF > /dev/null 2>&1
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@@ -287,7 +287,7 @@ have_header() {
|
|||||||
local HEADER
|
local HEADER
|
||||||
HEADER="$1"
|
HEADER="$1"
|
||||||
|
|
||||||
try_compile_c "$TEMP_CFLAGS" "$TEMP_LDFLAGS" << EOF 2>&1 > /dev/null
|
try_compile_c "$TEMP_CFLAGS" "$TEMP_LDFLAGS" << EOF > /dev/null 2>&1
|
||||||
#include <$HEADER>
|
#include <$HEADER>
|
||||||
int main() {
|
int main() {
|
||||||
return 0;
|
return 0;
|
||||||
@@ -399,6 +399,8 @@ HAVE_SYMBOLS=""
|
|||||||
|
|
||||||
config_requirements() {
|
config_requirements() {
|
||||||
# Requirements for the config program itself
|
# Requirements for the config program itself
|
||||||
|
have_program echon || exit 1
|
||||||
|
ECHON="$PROG_echon_FILE"
|
||||||
have_program sed || exit 1
|
have_program sed || exit 1
|
||||||
SED="$PROG_sed_FILE"
|
SED="$PROG_sed_FILE"
|
||||||
have_program tr || exit 1
|
have_program tr || exit 1
|
||||||
|
|||||||
@@ -28,6 +28,39 @@ PROG_sed_FILE="sed"
|
|||||||
PROG_sed_ACTION=""
|
PROG_sed_ACTION=""
|
||||||
PROG_sed_VERSION=''
|
PROG_sed_VERSION=''
|
||||||
|
|
||||||
|
PROG_echon_NAME="'echo -n' capable echo"
|
||||||
|
PROG_echon_FILE=""
|
||||||
|
PROG_echon_ACTION=""
|
||||||
|
PROG_echon_VERSION=''
|
||||||
|
PROG_echon_DETECT="echon_detect"
|
||||||
|
echon_detect() {
|
||||||
|
local TEST
|
||||||
|
|
||||||
|
# Default echo (probably builtin)
|
||||||
|
TEST=`echo -n X`
|
||||||
|
if [ "$TEST" = X ]; then
|
||||||
|
PROG_echon_FILE="echo -n"
|
||||||
|
return 0;
|
||||||
|
fi
|
||||||
|
|
||||||
|
# External echo
|
||||||
|
TEST=`/bin/echo -n X`
|
||||||
|
if [ "$TEST" = X ]; then
|
||||||
|
PROG_echon_FILE="/bin/echo -n"
|
||||||
|
return 0;
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Using printf as echo
|
||||||
|
TEST=`printf %s X`
|
||||||
|
if [ "$TEST" = X ]; then
|
||||||
|
PROG_echon_FILE="printf %s"
|
||||||
|
return 0;
|
||||||
|
fi
|
||||||
|
|
||||||
|
# No good echo found
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
PROG_make_NAME="Make"
|
PROG_make_NAME="Make"
|
||||||
case "$OSNAME" in
|
case "$OSNAME" in
|
||||||
FreeBSD|OpenBSD|SunOS)
|
FreeBSD|OpenBSD|SunOS)
|
||||||
|
|||||||
@@ -277,7 +277,7 @@ EOF
|
|||||||
|
|
||||||
echo
|
echo
|
||||||
echo "Press a number plus <ENTER> if you want to change something, "
|
echo "Press a number plus <ENTER> if you want to change something, "
|
||||||
echo -n "or just <ENTER> if everything is ok: "
|
$ECHON "or just <ENTER> if everything is ok: "
|
||||||
read CHOICE
|
read CHOICE
|
||||||
|
|
||||||
# Check if the choice was empty
|
# Check if the choice was empty
|
||||||
@@ -367,7 +367,7 @@ EOF
|
|||||||
|
|
||||||
echo
|
echo
|
||||||
echo "Select the option you want by typing a number plus <ENTER>"
|
echo "Select the option you want by typing a number plus <ENTER>"
|
||||||
echo -n "or just <ENTER> if everything is ok: "
|
$ECHON "or just <ENTER> if everything is ok: "
|
||||||
read CHOICE
|
read CHOICE
|
||||||
echo
|
echo
|
||||||
|
|
||||||
@@ -434,7 +434,7 @@ EOF
|
|||||||
eval TEMP_DEFAULT="\$INPUT_${ITEM}_DEFAULT"
|
eval TEMP_DEFAULT="\$INPUT_${ITEM}_DEFAULT"
|
||||||
echo " Default value: $TEMP_DEFAULT"
|
echo " Default value: $TEMP_DEFAULT"
|
||||||
echo " Current value: $TEMP_VALUE"
|
echo " Current value: $TEMP_VALUE"
|
||||||
echo -n " New value: "
|
$ECHON " New value: "
|
||||||
read NEW_VALUE
|
read NEW_VALUE
|
||||||
|
|
||||||
# If no new value is entered, keep the old one.
|
# If no new value is entered, keep the old one.
|
||||||
|
|||||||
Reference in New Issue
Block a user