crosstool-ng/patches/linux/2.4.26/linux-2.4-bsd-expr.patch

26 lines
1.1 KiB
Diff
Raw Normal View History

# http://in3www.epfl.ch/~schaffne/linux-2.4-bsd-expr.patch
The following makes it possible to compile linux 2.4.19 to 2.4.25 on Mac OS X,
where "expr" doesn't understand the "length" construct
(which it doesn't have to, according to SuSv3
(see http://www.opengroup.org/onlinepubs/007904975/utilities/expr.html)
See also http://sources.redhat.com/ml/crossgcc/2004-02/msg00131.html
Fixes error
expr: syntax error
KERNELRELEASE "2.4.21" exceeds 64 characters
make: *** [include/linux/version.h] Error 1
diff -ur linux-2.4.23-old/Makefile linux-2.4.23/Makefile
--- linux-2.4.23-old/Makefile 2003-12-09 14:27:56.000000000 +0100
+++ linux-2.4.23/Makefile 2003-12-09 14:28:37.000000000 +0100
@@ -353,7 +353,7 @@
@rm -f .ver1
include/linux/version.h: ./Makefile
- @expr length "$(KERNELRELEASE)" \<= $(uts_len) > /dev/null || \
+ @expr "$(KERNELRELEASE)" : '.*' \<= $(uts_len) > /dev/null || \
(echo KERNELRELEASE \"$(KERNELRELEASE)\" exceeds $(uts_len) characters >&2; false)
@echo \#define UTS_RELEASE \"$(KERNELRELEASE)\" > .ver
@echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)` >> .ver