[FFmpeg-devel] [PATCH] Building ffmpeg for OpenSolaris/SPARC using GCCFSS 4.2.1

Palle Lyckegaard palle
Thu Jan 1 21:35:37 CET 2009


Hi ffmpeg devlopers.

The attached patch makes it possible to build ffmpeg svn revision 16404 
on an OpenSolaris/SPARC based system using GCC 4.2.1 for Sun Systems 
(http://cooltools.sunsource.net/gcc).

The patch introduces a variable name for the install command (defaults to 
install, but is overridden to /usr/ucb/install if building on a 
SunOS/Solaris/OpenSolaris host).
Futhermore the __EXTENSIONS__ define is activated only if building on 
SunOS/Solaris/OpenSolaris.

PATH must be set to
export PATH=/usr/xpg6/bin:/usr/xpg4/bin:/usr/ccs/bin:/usr/bin:PATH_TO_GCCFSS_INSTALL_DIR
for a succesfull build.

Host info:
uname -a reports "SunOS odin 5.11 snv_90 sun4u sparc SUNW,Ultra-5_10"

Please consider the patch and apply if ok...

Regards
-------------- next part --------------
Index: configure
===================================================================
--- configure	(revision 16404)
+++ configure	(working copy)
@@ -1106,6 +1106,7 @@
 nm_default="nm"
 ranlib="ranlib"
 strip="strip"
+install="install"
 ln_s="ln -sf"
 objformat="elf"
 
@@ -1401,6 +1402,8 @@
         FFSERVERLDFLAGS=""
         SHFLAGS='-shared -Wl,-h,$$(@F)'
         network_extralibs="-lsocket -lnsl"
+        add_cflags "-D__EXTENSIONS__"
+        install="/usr/ucb/install"
         ;;
     netbsd)
         oss_demuxer_extralibs="-lossaudio"
@@ -1454,8 +1457,8 @@
         SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)'
         SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
         SLIB_EXTRA_CMD='-lib /machine:$(LIBTARGET) /def:$$(@:$(SLIBSUF)=.def) /out:$(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib)'
-        SLIB_INSTALL_EXTRA_CMD='-install -m 644 $(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib) "$(SHLIBDIR)/$(SLIBNAME:$(SLIBSUF)=.lib)"; \
-            install -m 644 $(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib) "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib)"'
+        SLIB_INSTALL_EXTRA_CMD='-$(install) -m 644 $(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib) "$(SHLIBDIR)/$(SLIBNAME:$(SLIBSUF)=.lib)"; \
+            $(install) -m 644 $(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib) "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib)"'
         SLIB_UNINSTALL_EXTRA_CMD='rm -f "$(SHLIBDIR)/$(SLIBNAME:$(SLIBSUF)=.lib)"'
         SHFLAGS='-shared -Wl,--output-def,$$(@:$(SLIBSUF)=.def) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base'
         objformat="win32"
@@ -1519,7 +1522,7 @@
           emxexp -o $(OBJS) >> $(SUBDIR)$(NAME).def'
         SLIB_EXTRA_CMD='emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.a $(SUBDIR)$(NAME).def; \
           emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.lib $(SUBDIR)$(NAME).def;'
-        SLIB_INSTALL_EXTRA_CMD='install -m 644 $(SUBDIR)$(LIBPREF)$(NAME)_dll.a $(SUBDIR)$(LIBPREF)$(NAME)_dll.lib "$(LIBDIR)"'
+        SLIB_INSTALL_EXTRA_CMD='$(install) -m 644 $(SUBDIR)$(LIBPREF)$(NAME)_dll.a $(SUBDIR)$(LIBPREF)$(NAME)_dll.lib "$(LIBDIR)"'
         SLIB_UNINSTALL_EXTRA_CMD='rm -f "$(LIBDIR)"/$(LIBPREF)$(NAME)_dll.a "$(LIBDIR)"/$(LIBPREF)$(NAME)_dll.lib'
         disable vhook
         enable dos_paths
@@ -2236,6 +2239,7 @@
     echo "STRIP=$strip" >> config.mak ||
     echo "STRIP=echo ignoring strip" >> config.mak
 
+echo "INSTALL=$install" >> config.mak
 echo "OPTFLAGS=$CFLAGS" >> config.mak
 echo "VHOOKCFLAGS=$VHOOKCFLAGS" >> config.mak
 echo "LDFLAGS=$LDFLAGS" >> config.mak
Index: subdir.mak
===================================================================
--- subdir.mak	(revision 16404)
+++ subdir.mak	(working copy)
@@ -38,8 +38,8 @@
 endif
 
 install-lib$(NAME)-shared: $(SUBDIR)$(SLIBNAME)
-	install -d "$(SHLIBDIR)"
-	install -m 755 $(SUBDIR)$(SLIBNAME) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
+	$(INSTALL) -d "$(SHLIBDIR)"
+	$(INSTALL) -m 755 $(SUBDIR)$(SLIBNAME) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
 	$(STRIP) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
 	cd "$(SHLIBDIR)" && \
 		$(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR)
@@ -48,15 +48,15 @@
 	$(SLIB_INSTALL_EXTRA_CMD)
 
 install-lib$(NAME)-static: $(SUBDIR)$(LIBNAME)
-	install -d "$(LIBDIR)"
-	install -m 644 $(SUBDIR)$(LIBNAME) "$(LIBDIR)"
+	$(INSTALL) -d "$(LIBDIR)"
+	$(INSTALL) -m 644 $(SUBDIR)$(LIBNAME) "$(LIBDIR)"
 	$(LIB_INSTALL_EXTRA_CMD)
 
 install-headers::
-	install -d "$(INCINSTDIR)"
-	install -d "$(LIBDIR)/pkgconfig"
-	install -m 644 $(addprefix "$(SRC_DIR)"/,$(HEADERS)) "$(INCINSTDIR)"
-	install -m 644 $(BUILD_ROOT)/lib$(NAME)/lib$(NAME).pc "$(LIBDIR)/pkgconfig"
+	$(INSTALL) -d "$(INCINSTDIR)"
+	$(INSTALL) -d "$(LIBDIR)/pkgconfig"
+	$(INSTALL) -m 644 $(addprefix "$(SRC_DIR)"/,$(HEADERS)) "$(INCINSTDIR)"
+	$(INSTALL) -m 644 $(BUILD_ROOT)/lib$(NAME)/lib$(NAME).pc "$(LIBDIR)/pkgconfig"
 
 uninstall-libs::
 	-rm -f "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR)" \
Index: Makefile
===================================================================
--- Makefile	(revision 16404)
+++ Makefile	(working copy)
@@ -126,16 +126,16 @@
 install: $(INSTALL_TARGETS-yes)
 
 install-progs: $(PROGS) $(INSTALL_PROGS_TARGETS-yes)
-	install -d "$(BINDIR)"
-	install -c -m 755 $(PROGS) "$(BINDIR)"
+	$(INSTALL) -d "$(BINDIR)"
+	$(INSTALL) -c -m 755 $(PROGS) "$(BINDIR)"
 
 install-man: $(MANPAGES)
-	install -d "$(MANDIR)/man1"
-	install -m 644 $(MANPAGES) "$(MANDIR)/man1"
+	$(INSTALL) -d "$(MANDIR)/man1"
+	$(INSTALL) -m 644 $(MANPAGES) "$(MANDIR)/man1"
 
 install-vhook: videohook
-	install -d "$(SHLIBDIR)/vhook"
-	install -m 755 $(HOOKS) "$(SHLIBDIR)/vhook"
+	$(INSTALL) -d "$(SHLIBDIR)/vhook"
+	$(INSTALL) -m 755 $(HOOKS) "$(SHLIBDIR)/vhook"
 
 uninstall: uninstall-progs uninstall-man uninstall-vhook
 



More information about the ffmpeg-devel mailing list