1 |
ssuominen 09/06/21 02:51:29 |
2 |
|
3 |
Added: brutefir-1.0k-ld.patch |
4 |
Log: |
5 |
Use gcc instead of ld as a linker wrt #252338, because -fPIC directly to ld isn't valid. |
6 |
(Portage version: 2.2_rc33/cvs/Linux x86_64) |
7 |
|
8 |
Revision Changes Path |
9 |
1.1 media-sound/brutefir/files/brutefir-1.0k-ld.patch |
10 |
|
11 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-sound/brutefir/files/brutefir-1.0k-ld.patch?rev=1.1&view=markup |
12 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-sound/brutefir/files/brutefir-1.0k-ld.patch?rev=1.1&content-type=text/plain |
13 |
|
14 |
Index: brutefir-1.0k-ld.patch |
15 |
=================================================================== |
16 |
The problem is that it passes -fPIC to the linker, and it does not use gcc as |
17 |
frontend, it uses ld directly. The problem is that -f on ld that produces a |
18 |
DT_AUXILIARY rather than causing any PIC code production. Fix also DESTDIR |
19 |
handling and add LIBDIR variable for multilib systems. |
20 |
|
21 |
See, http://bugs.gentoo.org/252338 |
22 |
|
23 |
diff -ur brutefir-1.0k.orig/Makefile brutefir-1.0k/Makefile |
24 |
--- brutefir-1.0k.orig/Makefile 2009-03-31 22:36:20.000000000 +0300 |
25 |
+++ brutefir-1.0k/Makefile 2009-06-21 05:44:03.000000000 +0300 |
26 |
@@ -1,11 +1,13 @@ |
27 |
################################### |
28 |
# Where to install |
29 |
-INSTALL_PREFIX = $(DESTDIR)/usr/local |
30 |
+# PREFIX = /usr/local |
31 |
+PREFIX = /usr |
32 |
+LIBDIR = $(PREFIX)/lib |
33 |
|
34 |
################################### |
35 |
# Where to find libraries, and their header files. |
36 |
-LIBPATHS = -L/usr/local/lib |
37 |
-INCLUDE = -I/usr/local/include |
38 |
+# LIBPATHS = -L/usr/local/lib |
39 |
+# INCLUDE = -I/usr/local/include |
40 |
ifdef FFTW_PATH |
41 |
LIBPATHS += -L$(FFTW_PATH)/lib |
42 |
INCLUDE += -I$(FFTW_PATH)/include |
43 |
@@ -17,19 +19,15 @@ |
44 |
|
45 |
################################### |
46 |
# Binaries |
47 |
-FLEX = flex |
48 |
-LD = ld |
49 |
-CC = gcc |
50 |
-AS = as |
51 |
+FLEX ?= flex |
52 |
+CC ?= gcc |
53 |
+AS ?= as |
54 |
|
55 |
################################### |
56 |
# Flags |
57 |
-CC_WARN = -Wall -Wlong-long -Wpointer-arith -Wshadow \ |
58 |
+CFLAGS += -Wall -Wlong-long -Wpointer-arith -Wshadow \ |
59 |
-Wcast-qual -Wcast-align -Wwrite-strings -Wstrict-prototypes \ |
60 |
-Wmissing-prototypes -Wmissing-declarations -Wnested-externs |
61 |
-CC_FLAGS = $(DEFINE) -O2 |
62 |
-CC_FPIC = -fPIC |
63 |
-LD_SHARED = -shared |
64 |
|
65 |
################################### |
66 |
# Objects and libs for targets |
67 |
@@ -74,7 +72,7 @@ |
68 |
BRUTEFIR_OBJS += $(BRUTEFIR_IA32_OBJS) |
69 |
endif |
70 |
BRUTEFIR_LIBS += -ldl |
71 |
-LDMULTIPLEDEFS = -Xlinker --allow-multiple-definition |
72 |
+LINKFLAGS = -fPIC -shared -Xlinker --allow-multiple-definition |
73 |
# assume that we have alsa, osss and jack |
74 |
LIB_TARGETS += alsa.bfio |
75 |
LIB_TARGETS += oss.bfio |
76 |
@@ -83,11 +81,11 @@ |
77 |
|
78 |
# Solaris |
79 |
ifeq ($(UNAME),SunOS) |
80 |
-CC_WARN = -Wall -Wlong-long -Wpointer-arith -Wshadow \ |
81 |
+CFLAGS += -Wall -Wlong-long -Wpointer-arith -Wshadow \ |
82 |
-Wcast-qual -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations \ |
83 |
-Wnested-externs |
84 |
ifeq ($(UNAME_P),sparc) |
85 |
-CC_FLAGS += -Wa,-xarch=v8plus |
86 |
+CFLAGS += -Wa,-xarch=v8plus |
87 |
endif |
88 |
BRUTEFIR_LIBS += -lrt -ldl |
89 |
endif |
90 |
@@ -112,43 +110,44 @@ |
91 |
$(AS) -o $@ $< |
92 |
|
93 |
%.fpic.o: %.c |
94 |
- $(CC) -o $@ -c $(INCLUDE) $(CC_FPIC) $(CC_WARN) $(CC_FLAGS) $< |
95 |
+ $(CC) -fPIC -shared -o $@ -c $(INCLUDE) $(CFLAGS) $< |
96 |
|
97 |
%.o: %.c |
98 |
- $(CC) -o $@ -c $(INCLUDE) $(CC_WARN) $(CC_FLAGS) $< |
99 |
+ $(CC) -o $@ -c $(INCLUDE) $(CFLAGS) $< |
100 |
|
101 |
# special rule to avoid to get warnings from code generated by flex |
102 |
bfconf_lexical.o: bfconf_lexical.c |
103 |
- $(CC) -o $@ -c $(INCLUDE) $(CC_FLAGS) $< |
104 |
+ $(CC) -o $@ -c $(INCLUDE) $(CFLAGS) $< |
105 |
|
106 |
%.c: %.lex |
107 |
$(FLEX) -o$@ $< |
108 |
|
109 |
brutefir: $(BRUTEFIR_OBJS) |
110 |
- $(CC) $(LIBPATHS) $(LDMULTIPLEDEFS) -o $@ $(BRUTEFIR_OBJS) $(BRUTEFIR_LIBS) |
111 |
+ $(CC) $(LDFLAGS) $(LDMULTIPLEDEFS) $(CFLAGS) $(LIBPATHS) -o $@ $(BRUTEFIR_OBJS) $(BRUTEFIR_LIBS) |
112 |
|
113 |
alsa.bfio: $(BFIO_ALSA_OBJS) |
114 |
- $(LD) $(LD_SHARED) $(CC_FPIC) $(LIBPATHS) -o $@ $(BFIO_ALSA_OBJS) $(BFIO_ALSA_LIBS) -lc |
115 |
+ $(CC) $(LINKFLAGS) $(LDFLAGS) $(CFLAGS) $(LIBPATHS) -o $@ $(BFIO_ALSA_OBJS) $(BFIO_ALSA_LIBS) -lc |
116 |
|
117 |
oss.bfio: $(BFIO_OSS_OBJS) |
118 |
- $(LD) $(LD_SHARED) $(CC_FPIC) $(LIBPATHS) -o $@ $(BFIO_OSS_OBJS) -lc |
119 |
+ $(CC) $(LINKFLAGS) $(LDFLAGS) $(CFLAGS) $(LIBPATHS) -o $@ $(BFIO_OSS_OBJS) -lc |
120 |
|
121 |
jack.bfio: $(BFIO_JACK_OBJS) |
122 |
- $(LD) $(LD_SHARED) $(CC_FPIC) $(LIBPATHS) -o $@ $(BFIO_JACK_OBJS) $(BFIO_JACK_LIBS) -lc |
123 |
+ $(CC) $(LINKFLAGS) $(LDFLAGS) $(CFLAGS) $(LIBPATHS) -o $@ $(BFIO_JACK_OBJS) $(BFIO_JACK_LIBS) -lc |
124 |
|
125 |
file.bfio: $(BFIO_FILE_OBJS) |
126 |
- $(LD) $(LD_SHARED) $(CC_FPIC) $(LIBPATHS) -o $@ $(BFIO_FILE_OBJS) -lc |
127 |
+ $(CC) $(LINKFLAGS) $(LDFLAGS) $(CFLAGS) $(LIBPATHS) -o $@ $(BFIO_FILE_OBJS) -lc |
128 |
|
129 |
cli.bflogic: $(BFLOGIC_CLI_OBJS) |
130 |
- $(LD) $(LD_SHARED) $(CC_FPIC) $(LIBPATHS) -o $@ $(BFLOGIC_CLI_OBJS) -lc |
131 |
+ $(CC) $(LINKFLAGS) $(LDFLAGS) $(CFLAGS) $(LIBPATHS) -o $@ $(BFLOGIC_CLI_OBJS) -lc |
132 |
|
133 |
eq.bflogic: $(BFLOGIC_EQ_OBJS) |
134 |
- $(LD) $(LD_SHARED) $(CC_FPIC) $(LIBPATHS) -o $@ $(BFLOGIC_EQ_OBJS) -lc |
135 |
+ $(CC) $(LINKFLAGS) $(LDFLAGS) $(CFLAGS) $(LIBPATHS) -o $@ $(BFLOGIC_EQ_OBJS) -lc |
136 |
|
137 |
install: $(BIN_TARGETS) $(LIB_TARGETS) |
138 |
- install -d $(INSTALL_PREFIX)/bin $(INSTALL_PREFIX)/lib/brutefir |
139 |
- install $(BIN_TARGETS) $(INSTALL_PREFIX)/bin |
140 |
- install $(LIB_TARGETS) $(INSTALL_PREFIX)/lib/brutefir |
141 |
+ install -d $(DESTDIR)$(PREFIX)/bin |
142 |
+ install $(BIN_TARGETS) $(DESTDIR)$(PREFIX)/bin |
143 |
+ install -d $(DESTDIR)$(LIBDIR)/brutefir |
144 |
+ install $(LIB_TARGETS) $(DESTDIR)$(LIBDIR)/brutefir |
145 |
|
146 |
clean: |
147 |
rm -f *.core core bfconf_lexical.c $(BRUTEFIR_OBJS) $(BFIO_FILE_OBJS) \ |