1
0
mirror of git://projects.qi-hardware.com/openwrt-packages.git synced 2024-12-28 13:02:25 +02:00
openwrt-packages/links/files/directfb-config

316 lines
6.8 KiB
Bash
Executable File

#!/bin/sh
prefix=$1/usr
exec_prefix=$1/usr
exec_prefix_set=no
moduledir=${exec_prefix}/lib/directfb-1.4-0
usage()
{
cat <<EOF
Usage: directfb-config [OPTIONS] [LIBRARIES]
Options:
[--prefix[=DIR]]
[--exec-prefix[=DIR]]
[--version]
[--libs]
[--cflags]
For static linking:
[--input=<driver>[,<driver>]...] (default: none)
[--graphics=<driver>[,<driver>]...] (default: none)
[--system=<system>[,<system>]...] (default: 'fbdev')
[--wm=<wm>[,<wm>]...] (default: 'default')
[--font=<impl>[,<impl>]...] (default: none)
[--imageprovider=<impl>[,<impl>]...] (default: none)
[--videoprovider=<impl>[,<impl>]...] (default: none)
[--fusionsound]
[--voodoo]
Example for static linking:
directfb-config --libs --graphics=matrox,r200
--input=linux_input --font=ft2
--imageprovider=jpeg,png,gif
EOF
exit $2
}
if test $# -eq 0; then
usage 1 1>&2
fi
lib_directfb=yes
lib_avifile=no
while test $# -gt 1; do
case "$2" in
-*=*) optarg=`echo "$2" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
*) optarg= ;;
esac
case $2 in
--prefix=*)
prefix=$optarg
if test $exec_prefix_set = no ; then
exec_prefix=$optarg
fi
;;
--prefix)
echo_prefix=yes
;;
--exec-prefix=*)
exec_prefix=$optarg
exec_prefix_set=yes
;;
--exec-prefix)
echo_exec_prefix=yes
;;
--version)
echo 1.4.2
;;
--cflags)
echo_cflags=yes
;;
--libs)
echo_libs=yes
;;
directfb)
lib_directfb=yes
;;
avifile)
lib_avifile=yes
;;
--input=*)
if test -z "$optarg"; then
usage 2 1>&2
fi
for i in `echo $optarg | sed 's/,/ /g'`; do
echo_input="$echo_input $moduledir/inputdrivers/libdirectfb_$i.o"
done
echo_static=yes
;;
--graphics=*)
if test -z "$optarg"; then
usage 2 1>&2
fi
for i in `echo $optarg | sed 's/,/ /g'`; do
echo_graphics="$echo_graphics $moduledir/gfxdrivers/libdirectfb_$i.o"
done
echo_static=yes
;;
--font=*)
if test -z "$optarg"; then
usage 2 1>&2
fi
for i in `echo $optarg | sed 's/,/ /g'`; do
echo_font="$echo_font $moduledir/interfaces/IDirectFBFont/libidirectfbfont_$i.o"
case $i in
ft2)
echo_font="$echo_font -lfreetype"
;;
esac
done
echo_static=yes
;;
--system=*)
if test -z "$optarg"; then
usage 2 1>&2
fi
for i in `echo $optarg | sed 's/,/ /g'`; do
echo_system="$echo_system $moduledir/systems/libdirectfb_$i.o"
case $i in
fbdev)
echo_system="$echo_system "
;;
sdl)
echo_system="$echo_system "
;;
esac
done
echo_static=yes
;;
--wm=*)
if test -z "$optarg"; then
usage 2 1>&2
fi
for i in `echo $optarg | sed 's/,/ /g'`; do
echo_wm="$echo_wm $moduledir/wm/libidirectfb_$i.o"
case $i in
unique)
echo_wm="$echo_wm -luniquewm"
;;
esac
done
echo_static=yes
;;
--imageprovider=*)
if test -z "$optarg"; then
usage 2 1>&2
fi
for i in `echo $optarg | sed 's/,/ /g'`; do
echo_imageprovider="$echo_imageprovider $moduledir/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_$i.o"
case $i in
imlib2)
echo_imageprovider="$echo_imageprovider -lImlib2 -lttf -lm -lXext -lX11"
;;
jpeg)
echo_imageprovider="$echo_imageprovider -ljpeg"
;;
png)
echo_imageprovider="$echo_imageprovider -lpng -lz -lm"
;;
gif)
;;
esac
done
echo_static=yes
;;
--videoprovider=*)
if test -z "$optarg"; then
usage 2 1>&2
fi
for i in `echo $optarg | sed 's/,/ /g'`; do
echo_videoprovider="$echo_videoprovider $moduledir/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_$i.o"
case $i in
libmpeg3)
echo_videoprovider="$echo_videoprovider -lmpeg3"
;;
swf)
echo_videoprovider="$echo_videoprovider -ljpeg -lz"
;;
openquicktime)
echo_videoprovider="$echo_videoprovider -lopenquicktime -lz -lglib -lm"
;;
esac
done
echo_static=yes
;;
--fusionsound)
echo_fusionsound="-Wl,-uIFusionSound_default -lifusionsound"
echo_static=yes
;;
--voodoo)
echo_voodoo=yes
echo_static=yes
;;
*)
usage 1 1>&2
;;
esac
shift
done
if test "$echo_prefix" = "yes"; then
echo $prefix
fi
if test "$echo_exec_prefix" = "yes"; then
echo $exec_prefix
fi
if test "$echo_cflags" = "yes"; then
if test ${prefix}/include/directfb != /usr/include ; then
cflags="-I${SYSROOT}${prefix}/include/directfb"
fi
echo $cflags -D_REENTRANT
fi
if test -n "$echo_static"; then
echo -static
if test -z "$echo_system"; then
echo $moduledir/systems/libdirectfb_fbdev.o
fi
if test -z "$echo_wm"; then
echo $moduledir/wm/libdirectfbwm_default.o
fi
fi
if test -n "$echo_font"; then
echo $echo_font
fi
if test -n "$echo_imageprovider"; then
echo $echo_imageprovider
fi
if test -n "$echo_videoprovider"; then
echo $echo_videoprovider
fi
if test -n "$echo_input"; then
echo $echo_input
fi
if test -n "$echo_graphics"; then
echo $echo_graphics
fi
if test -n "$echo_system"; then
echo $echo_system
fi
if test -n "$echo_wm"; then
echo $echo_wm
fi
if test -n "$echo_fusionsound"; then
echo -L${SYSROOT}$moduledir/interfaces/IFusionSound $echo_fusionsound
fi
print_voodoo ()
{
echo $moduledir/interfaces/$1/lib$2_dispatcher.o $moduledir/interfaces/$1/lib$2_requestor.o
}
if test -n "$echo_voodoo"; then
print_voodoo IDirectFB idirectfb
print_voodoo IDirectFBDataBuffer idirectfbdatabuffer
print_voodoo IDirectFBDisplayLayer idirectfbdisplaylayer
print_voodoo IDirectFBEventBuffer idirectfbeventbuffer
print_voodoo IDirectFBFont idirectfbfont
print_voodoo IDirectFBImageProvider idirectfbimageprovider
print_voodoo IDirectFBInputDevice idirectfbinputdevice
print_voodoo IDirectFBPalette idirectfbpalette
print_voodoo IDirectFBScreen idirectfbscreen
print_voodoo IDirectFBSurface idirectfbsurface
print_voodoo IDirectFBWindow idirectfbwindow
echo -lvoodoo
fi
if test "$echo_libs" = "yes"; then
libs=-L${SYSROOT}${exec_prefix}/lib
if test "$lib_directfb" = "yes"; then
libs="$libs -ldirectfb -lfusion -ldirect -lpthread"
if test -n "$echo_static"; then
libs="$libs -ldl -lz"
fi
fi
if test "$lib_avifile" = "yes"; then
libs="$libs @AVIFILE_LIBS@"
fi
echo $libs
fi