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:
meep-eep
2004-10-02 08:41:04 +00:00
parent 22bdca4e4b
commit 1673aa70d3
8 changed files with 51 additions and 13 deletions
+2
View File
@@ -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.
+1
View File
@@ -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@'
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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
+3 -3
View File
@@ -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 :
+7 -5
View File
@@ -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
+33
View File
@@ -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)
+3 -3
View File
@@ -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.