+# OS specific
+case $targetos in
+ beos|haiku|zeta)
+ PREFIX="$HOME/config"
+ # helps building libavcodec
+ add_cflags "-DPIC -fomit-frame-pointer"
+ # 3 gcc releases known for BeOS, each with ugly bugs
+ gcc_version="`$cc -v 2>&1 | grep version | cut -d ' ' -f3-`"
+ case "$gcc_version" in
+ 2.9-beos-991026*|2.9-beos-000224*) echo "R5/GG gcc"
+ disable mmx
+ ;;
+ *20010315*) echo "BeBits gcc"
+ add_cflags "-fno-expensive-optimizations"
+ ;;
+ esac
+ LDCONFIG="echo ignoring ldconfig"
+ SHFLAGS=-nostart
+ # enable BeOS things
+ enable audio_beos
+ # no need for libm, but the inet stuff
+ # Check for BONE
+ # XXX: actually should check for NOT net_server
+ if (echo $BEINCLUDES|grep 'headers/be/bone' >/dev/null); then
+ network_extralibs="-lbind -lsocket"
+ else
+ enable beos_netserver
+ network_extralibs="-lnet"
+ fi ;;
+ sunos)
+ FFSERVERLDFLAGS=""
+ SHFLAGS='-shared -Wl,-h,$@'
+ network_extralibs="-lsocket -lnsl"
+ ;;
+ netbsd)
+ oss_demuxer_extralibs="-lossaudio"
+ oss_muxer_extralibs="-lossaudio"
+ ;;
+ openbsd)
+ disable need_memalign
+ LIBOBJFLAGS='$(PIC)'
+ LDCONFIG='ldconfig -m $(SHLIBDIR)'
+ SHFLAGS='-shared'
+ SLIBNAME='$(SLIBPREF)$(FULLNAME)$(SLIBSUF).$(LIBVERSION)'
+ SLIBNAME_WITH_VERSION='$(SLIBNAME)'
+ SLIBNAME_WITH_MAJOR='$(SLIBNAME)'
+ oss_demuxer_extralibs="-lossaudio"
+ oss_muxer_extralibs="-lossaudio"
+ ;;
+ freebsd)
+ disable need_memalign
+ ;;
+ bsd/os)
+ osextralibs="-lpoll -lgnugetopt"
+ strip="strip -d"
+ ;;
+ darwin)
+ disable need_memalign
+ SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME),-current_version,$(SPPVERSION),-compatibility_version,$(SPPVERSION) -Wl,-read_only_relocs,suppress'
+ VHOOKSHFLAGS='-dynamiclib -Wl,-single_module -flat_namespace -undefined suppress -Wl,-install_name,$(SHLIBDIR)/vhook/$@'
+ strip="strip -x"
+ FFLDFLAGS="-Wl,-dynamic,-search_paths_first"
+ SLIBSUF=".dylib"
+ SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME).$(LIBVERSION)$(SLIBSUF)'
+ SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME).$(LIBMAJOR)$(SLIBSUF)'
+ FFSERVERLDFLAGS=-Wl,-bind_at_load
+ ;;
+ mingw32*)
+ targetos=mingw32
+ shlibdir="$bindir"
+ VHOOKSHFLAGS='-shared -L$(BUILD_ROOT)/libavformat -L$(BUILD_ROOT)/libavcodec -L$(BUILD_ROOT)/libavutil'
+ VHOOKLIBS='-lavformat$(BUILDSUF) -lavcodec$(BUILDSUF) -lavutil$(BUILDSUF) $(EXTRALIBS)'
+ if enabled swscaler; then
+ VHOOKSHFLAGS="$VHOOKSHFLAGS -L\$(BUILD_ROOT)/libswscale"
+ VHOOKLIBS="$VHOOKLIBS -lswscale\$(BUILDSUF)"
+ fi
+ disable ffserver
+ SLIBPREF=""
+ SLIBSUF=".dll"
+ EXESUF=".exe"
+ SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)'
+ SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
+ SLIB_EXTRA_CMD='-lib /machine:i386 /def:$(@:$(SLIBSUF)=.def)'
+ SLIB_INSTALL_EXTRA_CMD='-install -m 644 $(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib) "$(SHLIBDIR)/$(SLIBNAME:$(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'
+ ;;
+ cygwin*)
+ targetos=cygwin
+ shlibdir="$bindir"
+ VHOOKSHFLAGS='-shared -L$(BUILD_ROOT)/libavformat -L$(BUILD_ROOT)/libavcodec -L$(BUILD_ROOT)/libavutil'
+ VHOOKLIBS='-lavformat$(BUILDSUF) -lavcodec$(BUILDSUF) -lavutil$(BUILDSUF) $(EXTRALIBS)'
+ if enabled swscaler; then
+ VHOOKSHFLAGS="$VHOOKSHFLAGS -L\$(BUILD_ROOT)/libswscale"
+ VHOOKLIBS="$VHOOKLIBS -lswscale\$(BUILDSUF)"
+ fi
+ EXESUF=".exe"
+ SLIBPREF="cyg"
+ SLIBSUF=".dll"
+ SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)'
+ SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
+ SHFLAGS='-shared -Wl,--enable-auto-image-base'
+ ;;
+ linux)
+ LDLATEFLAGS="-Wl,--as-needed $LDLATEFLAGS"
+ enable dv1394
+ ;;
+ irix*)
+ targetos=irix
+ ranlib="echo ignoring ranlib"
+ ;;
+ *)
+ targetos="${targetos}-UNKNOWN"
+ ;;
+esac
+
+add_extralibs $osextralibs