mirror of
git://projects.qi-hardware.com/openwrt-packages.git
synced 2024-08-25 09:05:51 +03:00
316 lines
6.8 KiB
Bash
Executable File
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
|