Gentoo Archives: gentoo-commits

From: "Samuli Suominen (ssuominen)" <ssuominen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in media-sound/brutefir/files: brutefir-1.0k-ld.patch
Date: Sun, 21 Jun 2009 02:51:32
Message-Id: E1MID9V-0001uH-1V@stork.gentoo.org
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) \