HaikuPorts
  • Login
  • Preferences
  • Help/Guide
  • Wiki
  • Timeline
  • Roadmap
  • View Tickets
  • Search
  • Port Log
  • Blog

Context Navigation

  • ← Previous Ticket
  • Next Ticket →

Ticket #171 (closed enhancement: fixed)

Opened 6 years ago

Last modified 5 years ago

fix ffmpeg configure to give haiku it's own case

Reported by: scottmc Owned by: scottmc
Priority: normal Milestone:
Component: media-video/ffmpeg Version:
Severity: normal Keywords:
Cc:

Description

 http://svn.ffmpeg.org/ffmpeg/trunk/configure?revision=17855&view=markup

Current version looks like this:

# OS specific
case $target_os in
    beos|haiku|zeta)
        prefix_default="$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
        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 -q 'headers/be/bone'; then
            network_extralibs="-lbind -lsocket"
        else
            enable beos_netserver
            network_extralibs="-lnet"
        fi ;;
Perhaps we should break it out to be cleaner:
{{{
    beos|zeta)
.
.
.
    haiku)
            network_extralibs="-lnetwork"
            # plus any other haiku specific things...  
         ;;
}}}

Maybe even put some of these options into it?
--prefix=/boot/common --enable-shared --enable-gpl --disable-debug --disable-mmx --disable-demuxer=audio_beos 
--disable-muxer=audio_beos

Change History

comment:1 Changed 6 years ago by scottmc

Could even add in prefix_default="/boot/common"

comment:2 Changed 6 years ago by andreasf

The separate Haiku section sounds good, the default prefix too.

Some of the other suggested options don't sound so promising though. GPL and debug should be at the user's choice; MMX probably is due to a bug in Haiku or GCC that should be fixed there instead or limited to certain conditions as on BeOS. Did you try gcc4?
What about the (de)muxers - not needed or not yet working?

If you could find out the minimum amount of changes, you could have that fixed right away on trunk and keep playing with some of the other options in your working copy.

comment:3 Changed 6 years ago by scottmc

Here's what i have so far:

# OS specific
case $target_os in
    beos|zeta)
        prefix_default="$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
        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 -q 'headers/be/bone'; then
            network_extralibs="-lbind -lsocket"
        else
            enable beos_netserver
            network_extralibs="-lnet"
        fi ;;
    haiku)
        prefix_default="/boot/common"
        SHFLAGS='-nostart -shared'
        disable audio_beos
        enable beosthreads
        network_extralibs="-lnetwork"
        ;;

comment:4 Changed 6 years ago by scottmc

and built with:

configure --enable-gpl --disable-debug --disable-mmx
make
make install

comment:5 Changed 6 years ago by scottmc

well I needed to add --enable-shared for it to build the shared libs, so maybe the SHFLAGS line isn't working like i thought it would.

comment:6 Changed 6 years ago by andreasf

I thought -shared was a new alternative to -nostart, so that only one of them would be needed. GCC 4 needs a tweak of its specs file to make -shared work.

The SHFLAGS are probably only used when shared libraries are actually built? Does it enable them by default on other systems?

comment:7 Changed 6 years ago by scottmc

Updated patch sent to mmu_man who has ffmpeg commit rights, so hopefully sooner or later he'll commit it to ffmpeg's svn.

comment:8 Changed 5 years ago by scottmc

  • Resolution set to fixed
  • Status changed from new to closed

applied upstream by mmu_man:
 http://git.ffmpeg.org/?p=ffmpeg;a=commit;f=configure;h=5205be4b4390d4b62851208dc6bc420c5de7e94e

Note: See TracTickets for help on using tickets.

Download in other formats:

  • Comma-delimited Text
  • Tab-delimited Text
  • RSS Feed

Trac Powered

Powered by Trac 0.13dev-r10686
By Edgewall Software.

Visit the Trac open source project at
http://trac.edgewall.org/