diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-04-01 00:24:12 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-04-01 00:24:12 +0200 |
commit | b1ca9642a2a3968a6f6ab80c6d2f1c37e9046d3d (patch) | |
tree | 574374816d3d9fe2b8276bbe709bfe0a5611e4c5 | |
parent | 607cd90cdbcc1bf1160dc4ee15b079fd5a568462 (diff) | |
download | ffmpeg-b1ca9642a2a3968a6f6ab80c6d2f1c37e9046d3d.tar.gz |
Revert "Remove support for stripping executables"
People did not like this change.
This reverts commit e0be794a71be25a350f68287ee291b4942bcb7d8.
-rw-r--r-- | Makefile | 14 | ||||
-rw-r--r-- | common.mak | 2 | ||||
-rwxr-xr-x | configure | 16 | ||||
-rw-r--r-- | subdir.mak | 1 |
4 files changed, 27 insertions, 6 deletions
@@ -10,6 +10,7 @@ PROGS-$(CONFIG_FFPROBE) += ffprobe PROGS-$(CONFIG_FFSERVER) += ffserver PROGS := $(PROGS-yes:%=%$(EXESUF)) +PROGS_G = $(PROGS-yes:%=%_g$(EXESUF)) OBJS = $(PROGS-yes:%=%.o) cmdutils.o MANPAGES = $(PROGS-yes:%=doc/%.1) PODPAGES = $(PROGS-yes:%=doc/%.pod) @@ -20,6 +21,7 @@ HOSTPROGS := $(TESTTOOLS:%=tests/%) BASENAMES = ffmpeg ffplay ffprobe ffserver ALLPROGS = $(BASENAMES:%=%$(EXESUF)) +ALLPROGS_G = $(BASENAMES:%=%_g$(EXESUF)) ALLMANPAGES = $(BASENAMES:%=%.1) FFLIBS-$(CONFIG_AVDEVICE) += avdevice @@ -51,6 +53,10 @@ INSTALL_PROGS_TARGETS-$(CONFIG_SHARED) = install-libs all: $(FF_DEP_LIBS) $(PROGS) $(ALL_TARGETS-yes) +$(PROGS): %$(EXESUF): %_g$(EXESUF) + $(CP) $< $@ + $(STRIP) $@ + config.h: .config .config: $(wildcard $(FFLIBS:%=$(SRC_DIR)/lib%/all*.c)) @-tput bold 2>/dev/null @@ -74,10 +80,10 @@ endef $(foreach D,$(FFLIBS),$(eval $(call DOSUBDIR,lib$(D)))) -ffplay$(EXESUF): FF_EXTRALIBS += $(SDL_LIBS) -ffserver$(EXESUF): FF_LDFLAGS += $(FFSERVERLDFLAGS) +ffplay_g$(EXESUF): FF_EXTRALIBS += $(SDL_LIBS) +ffserver_g$(EXESUF): FF_LDFLAGS += $(FFSERVERLDFLAGS) -%$(EXESUF): %.o cmdutils.o $(FF_DEP_LIBS) +%_g$(EXESUF): %.o cmdutils.o $(FF_DEP_LIBS) $(LD) $(FF_LDFLAGS) -o $@ $< cmdutils.o $(FF_EXTRALIBS) tools/%$(EXESUF): tools/%.o @@ -159,7 +165,7 @@ testclean: $(RM) $(TESTTOOLS:%=tests/%$(HOSTEXESUF)) clean:: testclean - $(RM) $(ALLPROGS) + $(RM) $(ALLPROGS) $(ALLPROGS_G) $(RM) $(CLEANSUFFIXES) $(RM) doc/*.html doc/*.pod doc/*.1 $(RM) $(TOOLS) diff --git a/common.mak b/common.mak index 6daf77cc07..3d1a1293fb 100644 --- a/common.mak +++ b/common.mak @@ -21,7 +21,7 @@ endif ifndef V Q = @ ECHO = printf "$(1)\t%s\n" $(2) -BRIEF = CC AS YASM AR LD HOSTCC +BRIEF = CC AS YASM AR LD HOSTCC STRIP CP SILENT = DEPCC YASMDEP RM RANLIB MSG = $@ M = @$(call ECHO,$(TAG),$@); @@ -243,6 +243,7 @@ Developer options (useful when working on FFmpeg itself): --enable-debug=LEVEL set the debug level [$debuglevel] --disable-optimizations disable compiler optimizations --enable-extra-warnings enable more compiler warnings + --disable-stripping disable stripping of executables and shared libraries --samples=PATH location of test samples for FATE, if not set use \$FATE_SAMPLES at make invocation time. @@ -1146,6 +1147,7 @@ CMDLINE_SELECT=" extra_warnings logging optimizations + stripping symver yasm " @@ -1183,6 +1185,7 @@ CMDLINE_SET=" pkg_config samples source_path + strip sysinclude sysroot target_exec @@ -1622,6 +1625,7 @@ nm_default="nm" objformat="elf" pkg_config_default=pkg-config ranlib="ranlib" +strip_default="strip" yasmexe="yasm" nogas=":" @@ -1654,6 +1658,7 @@ enable network enable optimizations enable protocols enable static +enable stripping enable swscale enable swscale_alpha @@ -1830,10 +1835,11 @@ cc_default="${cross_prefix}${cc_default}" nm_default="${cross_prefix}${nm_default}" pkg_config_default="${cross_prefix}${pkg_config_default}" ranlib="${cross_prefix}${ranlib}" +strip_default="${cross_prefix}${strip_default}" sysinclude_default="${sysroot}/usr/include" -set_default cc nm pkg_config sysinclude +set_default cc nm pkg_config strip sysinclude enabled cross_compile || host_cc_default=$cc set_default host_cc @@ -2392,6 +2398,7 @@ case $target_os in ;; bsd/os) add_extralibs -lpoll -lgnugetopt + strip="strip -d" ;; darwin) enable malloc_aligned @@ -2399,6 +2406,7 @@ case $target_os in enabled ppc && add_asflags -force_cpusubtype_ALL SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR)' enabled x86_32 && append SHFLAGS -Wl,-read_only_relocs,suppress + strip="${strip} -x" add_ldflags -Wl,-dynamic,-search_paths_first SLIBSUF=".dylib" SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME).$(LIBVERSION)$(SLIBSUF)' @@ -2468,6 +2476,7 @@ case $target_os in ranlib="echo ignoring ranlib" ;; os/2*) + strip="lxlite -CS" ln_s="cp -f" add_ldflags -Zomf -Zbin-files -Zargs-wild -Zmap SHFLAGS='$(SUBDIR)$(NAME).def -Zdll -Zomf' @@ -3129,6 +3138,7 @@ if enabled sparc; then echo "VIS enabled ${vis-no}" fi echo "debug symbols ${debug-no}" +echo "strip symbols ${stripping-no}" echo "optimizations ${optimizations-no}" echo "static ${static-no}" echo "shared ${shared-no}" @@ -3224,6 +3234,8 @@ if enabled source_path_used; then map 'test -f "$source_path/$v" && $ln_s "$source_path/$v" $v' $FILES fi +enabled stripping || strip="echo skipping strip" + config_files="$TMPH config.mak" cat > config.mak <<EOF @@ -3251,7 +3263,9 @@ YASM=$yasmexe YASMDEP=$yasmexe AR=$ar RANLIB=$ranlib +CP=cp -p LN_S=$ln_s +STRIP=$strip CPPFLAGS=$CPPFLAGS CFLAGS=$CFLAGS ASFLAGS=$ASFLAGS diff --git a/subdir.mak b/subdir.mak index 7fdeddcceb..8a407fe164 100644 --- a/subdir.mak +++ b/subdir.mak @@ -60,6 +60,7 @@ distclean:: clean install-lib$(NAME)-shared: $(SUBDIR)$(SLIBNAME) $(Q)mkdir -p "$(SHLIBDIR)" $$(INSTALL) -m 755 $$< "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" + $$(STRIP) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" $(Q)cd "$(SHLIBDIR)" && \ $(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR) $(Q)cd "$(SHLIBDIR)" && \ |