xf86-video-fglrx: prepare driver to support installation of different driver versions together - part 1

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2012-07-09 16:45:10 +02:00
parent ac03457a5f
commit a1658b4b83
2 changed files with 93 additions and 65 deletions

View File

@ -24,21 +24,104 @@
if [ "$TARGET_ARCH" = i386 ]; then
FGLRX_ARCH=x86
LIBDIR=lib
BASEDIR=xpic
elif [ "$TARGET_ARCH" = x86_64 ]; then
FGLRX_ARCH=x86_64
LIBDIR=lib64
BASEDIR=xpic_64a
fi
INSTALL_DIR=".install/usr/lib/fglrx/"
cd $PKG_BUILD/common/lib/modules/fglrx/build_mod
ln -sf $ROOT/$PKG_BUILD/arch/$FGLRX_ARCH/lib/modules/fglrx/build_mod/libfglrx_ip.a .
cd 2.6.x
cd 2.6.x
sed -i -e 's/ -DPAGE_ATTR_FIX=/-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space -DPAGE_ATTR_FIX=/' Makefile
make CC=${CC} KDIR=$(kernel_path)
mkdir -p $SYSROOT_PREFIX/usr/include/amd
cp $ROOT/$PKG_DIR/source/amdxvba.h $SYSROOT_PREFIX/usr/include/amd
cd $ROOT/$PKG_BUILD
mkdir -p $SYSROOT_PREFIX/usr/lib
cp $ROOT/$PKG_BUILD/arch/$FGLRX_ARCH/usr/X11R6/*/libXvBAW.so* $SYSROOT_PREFIX/usr/lib
ln -sf libXvBAW.so.1.0 $SYSROOT_PREFIX/usr/lib/libXvBAW.so.1
ln -sf libXvBAW.so.1 $SYSROOT_PREFIX/usr/lib/libXvBAW.so
# config files
mkdir -p $INSTALL_DIR/etc/ati
cp common/etc/ati/amdpcsdb.default $INSTALL_DIR/etc/ati
cp common/etc/ati/control $INSTALL_DIR/etc/ati
cp common/etc/ati/signature $INSTALL_DIR/etc/ati
ln -sf /storage/.config/fglrx.conf $INSTALL_DIR/etc/ati/amdpcsdb
# hack around a broken driver
cp $ROOT/$PKG_DIR/config/control $INSTALL_DIR/etc/ati
(
cd $INSTALL_DIR/
for etc in `find etc -type f`; do
mkdir -p $ROOT/$PKG_BUILD/.install/`dirname $etc`
ln -sf /usr/lib/fglrx/$etc $ROOT/$PKG_BUILD/.install/$etc
done
ln -sf /usr/lib/fglrx/etc/ati/amdpcsdb $ROOT/$PKG_BUILD/.install/etc/ati/amdpcsdb
)
# ATI config
mkdir -p $INSTALL_DIR/bin
cp -P arch/$FGLRX_ARCH/usr/X11R6/bin/aticonfig $INSTALL_DIR/bin
(
cd $INSTALL_DIR/
for bin in `find bin -type f`; do
mkdir -p $ROOT/$PKG_BUILD/.install/usr/`dirname $bin`
ln -sf /usr/lib/fglrx/$bin $ROOT/$PKG_BUILD/.install/usr/$bin
done
)
# OpenGL libs
mkdir -p $INSTALL_DIR/lib
# rename to not conflicting with Mesa libGL.so
cp -P arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/fglrx/fglrx-libGL.so* $INSTALL_DIR/lib/libGL_fglrx.so.1
# System Libs
mkdir -p $INSTALL_DIR/lib
cp arch/$FGLRX_ARCH/usr/$LIBDIR/libati*.so $INSTALL_DIR/lib
cp arch/$FGLRX_ARCH/usr/$LIBDIR/libatiuki.so* $INSTALL_DIR/lib/libatiuki.so.1
cp arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/libati*.so* $INSTALL_DIR/lib
cp arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/libfglrx*.so* $INSTALL_DIR/lib
# DRI driver
mkdir -p .install/usr/lib/fglrx/lib/dri
cp arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/modules/dri/fglrx_dri.so* $INSTALL_DIR/lib/dri
# X.Org modules
mkdir -p $INSTALL_DIR/lib/xorg/modules
cp -P $BASEDIR/usr/X11R6/$LIBDIR/modules/*.so $INSTALL_DIR/lib/xorg/modules
mkdir -p $INSTALL_DIR/lib/xorg/modules/drivers
cp -P $BASEDIR/usr/X11R6/$LIBDIR/modules/drivers/*_drv.so $INSTALL_DIR/lib/xorg/modules/drivers
mkdir -p $INSTALL_DIR/lib/xorg/modules/extensions
cp -P $BASEDIR/usr/X11R6/$LIBDIR/modules/extensions/fglrx/fglrx-libglx.so $INSTALL_DIR/lib/xorg/modules/extensions/libglx_fglrx.so
mkdir -p $INSTALL_DIR/lib/xorg/modules/linux
cp -P $BASEDIR/usr/X11R6/$LIBDIR/modules/linux/*.so $INSTALL_DIR/lib/xorg/modules/linux
if [ "$XVBA" = yes ]; then
cp arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/libAMDXvBA.cap $INSTALL_DIR/lib
cp arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/libAMDXvBA.so* $INSTALL_DIR/lib/libAMDXvBA.so.1
cp arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/libXvBAW.so* $INSTALL_DIR/lib/libXvBAW.so.1
# install needed files for toolchain
mkdir -p $SYSROOT_PREFIX/usr/include/amd
cp $ROOT/$PKG_DIR/source/amdxvba.h $SYSROOT_PREFIX/usr/include/amd
mkdir -p $SYSROOT_PREFIX/usr/lib
cp arch/$FGLRX_ARCH/usr/X11R6/*/libXvBAW.so* $SYSROOT_PREFIX/usr/lib
ln -sf libXvBAW.so.1.0 $SYSROOT_PREFIX/usr/lib/libXvBAW.so.1
ln -sf libXvBAW.so.1 $SYSROOT_PREFIX/usr/lib/libXvBAW.so
fi
(
cd $INSTALL_DIR/
for lib in `find lib -type f`; do
mkdir -p $ROOT/$PKG_BUILD/.install/usr/`dirname $lib`
ln -sf /usr/lib/fglrx/$lib $ROOT/$PKG_BUILD/.install/usr/$lib
done
)

View File

@ -24,70 +24,15 @@
VER=`ls $BUILD/linux*/modules/lib/modules`
if [ "$TARGET_ARCH" = i386 ]; then
FGLRX_ARCH=x86
LIBDIR=lib
BASEDIR=xpic
elif [ "$TARGET_ARCH" = x86_64 ]; then
FGLRX_ARCH=x86_64
LIBDIR=lib64
BASEDIR=xpic_64a
fi
# ATI kernel driver
mkdir -p $INSTALL/lib/modules/$VER/ati
cp $PKG_BUILD/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko $INSTALL/lib/modules/$VER/ati
# X.Org modules
mkdir -p $INSTALL/$XORG_PATH_MODULES
cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/*.so $INSTALL/$XORG_PATH_MODULES
mkdir -p $INSTALL/$XORG_PATH_MODULES/drivers
cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/drivers/*_drv.so $INSTALL/$XORG_PATH_MODULES/drivers
mkdir -p $INSTALL/$XORG_PATH_MODULES/extensions/fglrx
# rename to not conflicting with Mesa libGL.so
cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/extensions/fglrx/fglrx-libglx.so $INSTALL/$XORG_PATH_MODULES/extensions/libglx_fglrx.so
mkdir -p $INSTALL/$XORG_PATH_MODULES/linux
cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/linux/*.so $INSTALL/$XORG_PATH_MODULES/linux
mkdir -p $INSTALL/etc/X11
cp $PKG_DIR/config/*.conf $INSTALL/etc/X11
mkdir -p $INSTALL/etc/ati
cp $PKG_BUILD/common/etc/ati/amdpcsdb.default $INSTALL/etc/ati
mkdir -p $INSTALL/usr/config/
cp $PKG_DIR/config/amdpcsdb $INSTALL/usr/config/fglrx.conf
ln -sf /storage/.config/fglrx.conf $INSTALL/etc/ati/amdpcsdb
cp $PKG_BUILD/common/etc/ati/control $INSTALL/etc/ati
cp $PKG_BUILD/common/etc/ati/signature $INSTALL/etc/ati
# hack around a broken driver
cp $PKG_DIR/config/control $INSTALL/etc/ati
# DRI driver
mkdir -p $INSTALL/usr/lib/dri
cp $PKG_BUILD/arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/modules/dri/fglrx_dri.so* $INSTALL/usr/lib/dri
# OpenGL libs
mkdir -p $INSTALL/usr/lib
# rename to not conflicting with Mesa libGL.so
cp -P $PKG_BUILD/arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/fglrx/fglrx-libGL.so* $INSTALL/usr/lib/libGL_fglrx.so.1
# System Libs
mkdir -p $INSTALL/usr/lib
cp $PKG_BUILD/arch/$FGLRX_ARCH/usr/$LIBDIR/libati*.so $INSTALL/usr/lib
cp $PKG_BUILD/arch/$FGLRX_ARCH/usr/$LIBDIR/libatiuki.so* $INSTALL/usr/lib/libatiuki.so.1
cp $PKG_BUILD/arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/libati*.so* $INSTALL/usr/lib
cp $PKG_BUILD/arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/libfglrx*.so* $INSTALL/usr/lib
# ATI config
mkdir -p $INSTALL/usr/bin
cp -P $PKG_BUILD/arch/$FGLRX_ARCH/usr/X11R6/bin/aticonfig $INSTALL/usr/bin
if [ "$XVBA" = yes ]; then
cp $PKG_BUILD/arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/libAMDXvBA.cap $INSTALL/usr/lib
cp $PKG_BUILD/arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/libAMDXvBA.so* $INSTALL/usr/lib/libAMDXvBA.so.1
cp $PKG_BUILD/arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/libXvBAW.so* $INSTALL/usr/lib/libXvBAW.so.1
fi
mkdir -p $INSTALL
cp -PR $PKG_BUILD/.install/* $INSTALL