summaryrefslogtreecommitdiff
path: root/patches/libfloat/990616.orig/200-cross_compile.patch
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-05-19 13:10:11 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-05-19 13:10:11 (GMT)
commit361c6173087b814a47492671521d74684d959734 (patch)
treefbec869dda3afb46673fbd7ad23e0f40a205e21a /patches/libfloat/990616.orig/200-cross_compile.patch
parent266d2ec7e52c0719cb8c0e01b548193712aa744c (diff)
Correctly handle the libfloat case: download, extract and patch sub-actions.
Small improvement in messages in scipts/functions when retrieving a file.
Diffstat (limited to 'patches/libfloat/990616.orig/200-cross_compile.patch')
-rw-r--r--patches/libfloat/990616.orig/200-cross_compile.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/patches/libfloat/990616.orig/200-cross_compile.patch b/patches/libfloat/990616.orig/200-cross_compile.patch
new file mode 100644
index 0000000..640008c
--- /dev/null
+++ b/patches/libfloat/990616.orig/200-cross_compile.patch
@@ -0,0 +1,63 @@
+When linking, call directly ld in place of the gcc wrapper, because the wrapper
+will try to link with -lfloat, which we don't have right now...
+
+Simplify CFLAGS to stay ABI compliant (ot so I guess)...
+
+diff -dur libfloat.orig/Makefile libfloat/Makefile
+--- libfloat.orig/Makefile 2007-02-16 19:38:55.000000000 +0100
++++ libfloat/Makefile 2007-02-16 19:46:23.000000000 +0100
+@@ -1,8 +1,11 @@
+ # Makefile for the Linux soft-float library
+
+-CC=gcc -O2 -freg-struct-return -fomit-frame-pointer -D__LIBFLOAT__
+-#CC=gcc -g -O2 -freg-struct-return -D__LIBFLOAT__
+-AR=ar
++AR=$(CROSS_COMPILE)ar
++#CFLAGS=-O2 -freg-struct-return -fomit-frame-pointer -D__LIBFLOAT__
++CFLAGS=-O2 -D__LIBFLOAT__
++CC=$(CROSS_COMPILE)gcc
++LDFLAGS=-shared -nostdlib
++LD=$(CROSS_COMPILE)ld
+
+ all: libfloat.a libfloat.so.1
+
+@@ -12,28 +13,31 @@
+
+ libfloat.so.1: softfloat.os fplib_glue.os
+ rm -f libfloat.so.1
+- gcc -shared -Wl,-soname,libfloat.so.1 softfloat.os fplib_glue.os -o libfloat.so.1
++ $(LD) $(LDFLAGS) -soname=libfloat.so.1 softfloat.os fplib_glue.os -o libfloat.so.1
+
+ softfloat.o: softfloat/bits64/softfloat.c
+- $(CC) -c -o softfloat.o -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
++ $(CC) $(CFLAGS) -c -o softfloat.o -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
+
+ fplib_glue.o: fplib_glue.S
+- $(CC) -c -o fplib_glue.o fplib_glue.S
++ $(CC) $(CFLAGS) -c -o fplib_glue.o fplib_glue.S
+
+ softfloat.os: softfloat/bits64/softfloat.c
+- $(CC) -fpic -c -o softfloat.os -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
++ $(CC) $(CFLAGS) -fpic -c -o softfloat.os -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
+
+ fplib_glue.os: fplib_glue.S
+- $(CC) -fpic -c -o fplib_glue.os fplib_glue.S
++ $(CC) $(CFLAGS) -fpic -c -o fplib_glue.os fplib_glue.S
+
+ install: libfloat.a libfloat.so.1
+- cp -a libfloat.a $(DESTDIR)/usr/lib
+- cp -a libfloat.so.1 $(DESTDIR)/usr/lib
+- cd $(DESTDIR)/usr/lib; ln -s libfloat.so.1 libfloat.so
++ install -d -m 755 "$(DESTDIR)/usr/lib"
++ install -m 755 libfloat.a "$(DESTDIR)/usr/lib"
++ install -m 755 libfloat.so.1 "$(DESTDIR)/usr/lib"
++ cd $(DESTDIR)/usr/lib
++ ln -s libfloat.so.1 libfloat.so
+
+ clean:
+ rm -f *.o
+ rm -f *.os
+ rm -f libfloat.a
+ rm -f libfloat.so.1
++ rm -f libfloat.so
+ rm -f *~