[PATCH] Make mjpegtools build with LDFLAGS=-Wl, --as-needed
Fabian Greffrath <[email protected]> Sat, 22 Mar 2008 14:38:31 +0100
| Newsgroups | gmane.comp.video.mjpeg.devel |
|---|---|
| Message-ID | <1206193111.7649.0.camel@beppo> |
Dear mjpegtools developers, please find attached a patch that makes it possible to build the mjpegtools package with LDFLAGS=-Wl,--as-needed and thus avoid unnecessary dependencies for resulting binary packages. The patch adds libraries to objects that use some of their symbols and reorders some LDFLAGS/LIBADD fields (libraries should be added to LIBADD, not LDFLAGS). To tell the truth, there is another patch necessary to keep ltmain.sh from insanely reordering the linker arguments (please see [1]), but that's not your issue, I guess. ;) Cheers, Fabian [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=347650 ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Mjpeg-developer mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mjpeg-developer
mjpegtools-1.9~rc3_as-needed.patch
(text/x-patch, 2 KB)
diff -Nur mjpegtools-1.9.0rc3/lavtools/Makefile.am mjpegtools-1.9.0rc3.new/lavtools/Makefile.am
--- mjpegtools-1.9.0rc3/lavtools/Makefile.am
+++ mjpegtools-1.9.0rc3.new/lavtools/Makefile.am
@@ -40,25 +40,24 @@
liblavfile_la_SOURCES = editlist.c lav_io.c avilib.c
liblavfile_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBDV_CFLAGS) $(JPEG_CFLAGS)
-liblavfile_la_LDFLAGS = $(LAV_ALL_LIB_OPTS) \
- $(LIBQUICKTIME_LIBS) $(JPEG_LIBS) $(LIBDV_LIBS)
-liblavfile_la_LIBADD = $(LIBMJPEGUTILS)
+liblavfile_la_LDFLAGS = $(LAV_ALL_LIB_OPTS)
+liblavfile_la_LIBADD = $(LIBQUICKTIME_LIBS) $(JPEG_LIBS) $(LIBDV_LIBS) $(LIBMJPEGUTILS)
liblavjpeg_la_SOURCES = jpegutils.c
liblavjpeg_la_CPPFLAGS = $(AM_CPPFLAGS) $(JPEG_CFLAGS)
-liblavjpeg_la_LDFLAGS = $(LAV_ALL_LIB_OPTS) $(JPEG_LIBS)
-liblavjpeg_la_LIBADD = $(LIBMJPEGUTILS)
+liblavjpeg_la_LDFLAGS = $(LAV_ALL_LIB_OPTS)
+liblavjpeg_la_LIBADD = $(JPEG_LIBS) $(LIBMJPEGUTILS)
liblavrec_la_SOURCES = liblavrec.c audiolib.c frequencies.c
liblavrec_la_CPPFLAGS = $(AM_CPPFLAGS) # so automake doesn't complain about audiolib & frequencies
liblavrec_la_LDFLAGS = $(LAV_ALL_LIB_OPTS)
-liblavrec_la_LIBADD = liblavfile.la liblavjpeg.la
+liblavrec_la_LIBADD = liblavfile.la liblavjpeg.la $(LIBMJPEGUTILS)
liblavrec_la_DEPENDENCIES = liblavfile.la liblavjpeg.la
liblavplay_la_SOURCES = liblavplay.c audiolib.c
liblavplay_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBDV_CFLAGS) $(X_CFLAGS)
liblavplay_la_LDFLAGS = $(LAV_ALL_LIB_OPTS)
-liblavplay_la_LIBADD = liblavfile.la $(SDL_LIBS) liblavjpeg.la
+liblavplay_la_LIBADD = liblavfile.la $(SDL_LIBS) liblavjpeg.la $(LIBDV_LIBS) $(LIBMJPEGUTILS)
if HAVE_V4L
liblavplay_la_LIBADD += ${X_LIBS} -lX11
endif
diff -Nur mjpegtools-1.9.0rc3/mpeg2enc/Makefile.am mjpegtools-1.9.0rc3.new/mpeg2enc/Makefile.am
--- mjpegtools-1.9.0rc3/mpeg2enc/Makefile.am
+++ mjpegtools-1.9.0rc3.new/mpeg2enc/Makefile.am
@@ -78,7 +78,7 @@
libmpeg2encpp_la_DEPENDENCIES = $(LIBMJPEGUTILS)
-libmpeg2encpp_la_LIBADD = $(LIBMJPEGUTILS)
+libmpeg2encpp_la_LIBADD = $(LIBMJPEGUTILS) -lpthread
mpeg2enc_DEPENDENCIES = \
$(LIBMJPEGUTILS) \