You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/media-sound/brutefir/files/brutefir-1.0k-ld.patch

133 lines
4.5 KiB

The problem is that it passes -fPIC to the linker, and it does not use gcc as
frontend, it uses ld directly. The problem is that -f on ld that produces a
DT_AUXILIARY rather than causing any PIC code production. Fix also DESTDIR
handling and add LIBDIR variable for multilib systems.
See, http://bugs.gentoo.org/252338
diff -ur brutefir-1.0k.orig/Makefile brutefir-1.0k/Makefile
--- brutefir-1.0k.orig/Makefile 2009-03-31 22:36:20.000000000 +0300
+++ brutefir-1.0k/Makefile 2009-06-21 05:44:03.000000000 +0300
@@ -1,11 +1,13 @@
###################################
# Where to install
-INSTALL_PREFIX = $(DESTDIR)/usr/local
+# PREFIX = /usr/local
+PREFIX = /usr
+LIBDIR = $(PREFIX)/lib
###################################
# Where to find libraries, and their header files.
-LIBPATHS = -L/usr/local/lib
-INCLUDE = -I/usr/local/include
+# LIBPATHS = -L/usr/local/lib
+# INCLUDE = -I/usr/local/include
ifdef FFTW_PATH
LIBPATHS += -L$(FFTW_PATH)/lib
INCLUDE += -I$(FFTW_PATH)/include
@@ -17,19 +19,15 @@
###################################
# Binaries
-FLEX = flex
-LD = ld
-CC = gcc
-AS = as
+FLEX ?= flex
+CC ?= gcc
+AS ?= as
###################################
# Flags
-CC_WARN = -Wall -Wlong-long -Wpointer-arith -Wshadow \
+CFLAGS += -Wall -Wlong-long -Wpointer-arith -Wshadow \
-Wcast-qual -Wcast-align -Wwrite-strings -Wstrict-prototypes \
-Wmissing-prototypes -Wmissing-declarations -Wnested-externs
-CC_FLAGS = $(DEFINE) -O2
-CC_FPIC = -fPIC
-LD_SHARED = -shared
###################################
# Objects and libs for targets
@@ -74,7 +72,7 @@
BRUTEFIR_OBJS += $(BRUTEFIR_IA32_OBJS)
endif
BRUTEFIR_LIBS += -ldl
-LDMULTIPLEDEFS = -Xlinker --allow-multiple-definition
+LINKFLAGS = -fPIC -shared -Xlinker --allow-multiple-definition
# assume that we have alsa, osss and jack
LIB_TARGETS += alsa.bfio
LIB_TARGETS += oss.bfio
@@ -83,11 +81,11 @@
# Solaris
ifeq ($(UNAME),SunOS)
-CC_WARN = -Wall -Wlong-long -Wpointer-arith -Wshadow \
+CFLAGS += -Wall -Wlong-long -Wpointer-arith -Wshadow \
-Wcast-qual -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations \
-Wnested-externs
ifeq ($(UNAME_P),sparc)
-CC_FLAGS += -Wa,-xarch=v8plus
+CFLAGS += -Wa,-xarch=v8plus
endif
BRUTEFIR_LIBS += -lrt -ldl
endif
@@ -112,43 +110,44 @@
$(AS) -o $@ $<
%.fpic.o: %.c
- $(CC) -o $@ -c $(INCLUDE) $(CC_FPIC) $(CC_WARN) $(CC_FLAGS) $<
+ $(CC) -fPIC -shared -o $@ -c $(INCLUDE) $(CFLAGS) $<
%.o: %.c
- $(CC) -o $@ -c $(INCLUDE) $(CC_WARN) $(CC_FLAGS) $<
+ $(CC) -o $@ -c $(INCLUDE) $(CFLAGS) $<
# special rule to avoid to get warnings from code generated by flex
bfconf_lexical.o: bfconf_lexical.c
- $(CC) -o $@ -c $(INCLUDE) $(CC_FLAGS) $<
+ $(CC) -o $@ -c $(INCLUDE) $(CFLAGS) $<
%.c: %.lex
$(FLEX) -o$@ $<
brutefir: $(BRUTEFIR_OBJS)
- $(CC) $(LIBPATHS) $(LDMULTIPLEDEFS) -o $@ $(BRUTEFIR_OBJS) $(BRUTEFIR_LIBS)
+ $(CC) $(LDFLAGS) $(LDMULTIPLEDEFS) $(CFLAGS) $(LIBPATHS) -o $@ $(BRUTEFIR_OBJS) $(BRUTEFIR_LIBS)
alsa.bfio: $(BFIO_ALSA_OBJS)
- $(LD) $(LD_SHARED) $(CC_FPIC) $(LIBPATHS) -o $@ $(BFIO_ALSA_OBJS) $(BFIO_ALSA_LIBS) -lc
+ $(CC) $(LINKFLAGS) $(LDFLAGS) $(CFLAGS) $(LIBPATHS) -o $@ $(BFIO_ALSA_OBJS) $(BFIO_ALSA_LIBS) -lc
oss.bfio: $(BFIO_OSS_OBJS)
- $(LD) $(LD_SHARED) $(CC_FPIC) $(LIBPATHS) -o $@ $(BFIO_OSS_OBJS) -lc
+ $(CC) $(LINKFLAGS) $(LDFLAGS) $(CFLAGS) $(LIBPATHS) -o $@ $(BFIO_OSS_OBJS) -lc
jack.bfio: $(BFIO_JACK_OBJS)
- $(LD) $(LD_SHARED) $(CC_FPIC) $(LIBPATHS) -o $@ $(BFIO_JACK_OBJS) $(BFIO_JACK_LIBS) -lc
+ $(CC) $(LINKFLAGS) $(LDFLAGS) $(CFLAGS) $(LIBPATHS) -o $@ $(BFIO_JACK_OBJS) $(BFIO_JACK_LIBS) -lc
file.bfio: $(BFIO_FILE_OBJS)
- $(LD) $(LD_SHARED) $(CC_FPIC) $(LIBPATHS) -o $@ $(BFIO_FILE_OBJS) -lc
+ $(CC) $(LINKFLAGS) $(LDFLAGS) $(CFLAGS) $(LIBPATHS) -o $@ $(BFIO_FILE_OBJS) -lc
cli.bflogic: $(BFLOGIC_CLI_OBJS)
- $(LD) $(LD_SHARED) $(CC_FPIC) $(LIBPATHS) -o $@ $(BFLOGIC_CLI_OBJS) -lc
+ $(CC) $(LINKFLAGS) $(LDFLAGS) $(CFLAGS) $(LIBPATHS) -o $@ $(BFLOGIC_CLI_OBJS) -lc
eq.bflogic: $(BFLOGIC_EQ_OBJS)
- $(LD) $(LD_SHARED) $(CC_FPIC) $(LIBPATHS) -o $@ $(BFLOGIC_EQ_OBJS) -lc
+ $(CC) $(LINKFLAGS) $(LDFLAGS) $(CFLAGS) $(LIBPATHS) -o $@ $(BFLOGIC_EQ_OBJS) -lc
install: $(BIN_TARGETS) $(LIB_TARGETS)
- install -d $(INSTALL_PREFIX)/bin $(INSTALL_PREFIX)/lib/brutefir
- install $(BIN_TARGETS) $(INSTALL_PREFIX)/bin
- install $(LIB_TARGETS) $(INSTALL_PREFIX)/lib/brutefir
+ install -d $(DESTDIR)$(PREFIX)/bin
+ install $(BIN_TARGETS) $(DESTDIR)$(PREFIX)/bin
+ install -d $(DESTDIR)$(LIBDIR)/brutefir
+ install $(LIB_TARGETS) $(DESTDIR)$(LIBDIR)/brutefir
clean:
rm -f *.core core bfconf_lexical.c $(BRUTEFIR_OBJS) $(BFIO_FILE_OBJS) \