Various fixes to the tree to get coreboot-v2 to build on Solaris
- Replace $(PWD) with $(CURDIR) in Makefiles. I don't know why
the Solaris version behaves differently, but CURDIR is a safe
choice on gnu make (and we require gnu make already)
- Use tail -1 instead of tail -n1 in a file that already relies on
tail -1 support in another place
- Use tail -1 as alternative to tail -n1 in another place
- Use #define for ulong_t in romcc, as that name is used on Solaris
- Avoid fprinting a null pointer. The standard doesn't mandate that
this is a special case, and Solaris doesn't implement it that way.
Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4305 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/util/abuild/abuild b/util/abuild/abuild
index f8e8196..5f6120f 100755
--- a/util/abuild/abuild
+++ b/util/abuild/abuild
@@ -36,7 +36,14 @@
configureonly=0
# One might want to adjust these in case of cross compiling
-MAKE="make"
+for i in make gmake gnumake nonexistant_make; do
+ $i --version 2>/dev/null |grep "GNU Make" >/dev/null && break
+done
+if [ "$i" = "nonexistant_make" ]; then
+ echo No GNU Make found.
+ exit 1
+fi
+MAKE=$i
PYTHON=python
# this can be changed to xml by -x
@@ -202,10 +209,11 @@
LOGLEVEL2=""
fi
- if [ "`which lzma`" != "" -a "$PAYLOAD" != /dev/null ]; then
- COMPRESSION="option CONFIG_COMPRESSED_PAYLOAD_LZMA=1"
- else
- COMPRESSION="# no compression"
+ COMPRESSION="# no compression"
+ if which lzma >/dev/null 2>/dev/null; then
+ if [ "$PAYLOAD" != /dev/null ]; then
+ COMPRESSION="option CONFIG_COMPRESSED_PAYLOAD_LZMA=1"
+ fi
fi
cp $TARGET/Config-${VENDOR}_${MAINBOARD}.lb $TARGET/Config-${VENDOR}_${MAINBOARD}.lb.pre
@@ -266,7 +274,7 @@
xmlfile $build_dir/config.log
xml " </log>"
xml ""
- tail -n $CONTEXT $build_dir/config.log
+ tail -n $CONTEXT $build_dir/config.log 2> /dev/null || tail -$CONTEXT $build_dir/config.log
return 1
fi
}
@@ -315,7 +323,7 @@
xml " </log>"
printf "FAILED after ${duration}s! Log excerpt:\n"
- tail -n $CONTEXT make.log
+ tail -n $CONTEXT make.log 2> /dev/null || tail -$CONTEXT make.log
cd $CURR
return 1
fi
diff --git a/util/newconfig/config.g b/util/newconfig/config.g
index f2b8df1..b8b8c16 100644
--- a/util/newconfig/config.g
+++ b/util/newconfig/config.g
@@ -2118,7 +2118,7 @@
file.write("# Function to create an item like -Di586 or -DCONFIG_MAX_CPUS='1' or -Ui686\n")
file.write("D_item = $(shell echo '$(if $(subst undefined,,$(origin $1)),\\#define $1$(if $($1), $($1),),\\#undef $1)' >> settings.h)\n\n")
file.write("# Compute the value of CPUFLAGS here during make's first pass.\n")
- file.write("CPUFLAGS := $(strip $(shell echo '/* autogenerated */' > settings.h)$(foreach _var_,$(VARIABLES),$(call D_item,$(_var_)))-include $(PWD)/settings.h)\n\n")
+ file.write("CPUFLAGS := $(strip $(shell echo '/* autogenerated */' > settings.h)$(foreach _var_,$(VARIABLES),$(call D_item,$(_var_)))-include $(CURDIR)/settings.h)\n\n")
for i in image.getuserdefines():
file.write("%s\n" %i)
diff --git a/util/romcc/romcc.c b/util/romcc/romcc.c
index bc647fd..5ab94274 100644
--- a/util/romcc/romcc.c
+++ b/util/romcc/romcc.c
@@ -280,7 +280,7 @@
typedef int32_t int_t;
typedef uint32_t uint_t;
typedef int32_t long_t;
-typedef uint32_t ulong_t;
+#define ulong_t uint32_t
#define SCHAR_T_MIN (-128)
#define SCHAR_T_MAX 127
@@ -24819,8 +24819,8 @@
last_occurance != ins->occurance) {
if (!ins->occurance->parent) {
fprintf(fp, "\t/* %s,%s:%d.%d */\n",
- ins->occurance->function,
- ins->occurance->filename,
+ ins->occurance->function?ins->occurance->function:"(null)",
+ ins->occurance->filename?ins->occurance->filename:"(null)",
ins->occurance->line,
ins->occurance->col);
}