Browse Source

Support out-of-tree xorg builds and lay groundwork for cross-compatible build using X.org 7.5


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4018 3789f03b-4d11-0410-bbf8-ca57d06f2519
tags/v1.0.90
DRC 14 years ago
parent
commit
c9a103cf06
3 changed files with 99 additions and 64 deletions
  1. 92
    57
      unix/build-xorg
  2. 1
    1
      unix/download-xorg-7.4
  3. 6
    6
      unix/xserver/hw/vnc/Makefile.am

unix/build-xorg-7.4 → unix/build-xorg View File

export PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" export PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig"
MAKE="make" MAKE="make"
STATIC=0 STATIC=0
XORG_VERSION=
SRCDIR=..


modules="dri2proto \ modules="dri2proto \
libpthread-stubs \ libpthread-stubs \


init() init()
{ {
mkdir -p xorg
update_modules update_modules


pushd xorg pushd xorg
tar jxf ~/.tigervnc-build/util-macros.tar.bz2
tar jxf ~/.tigervnc-xorg-$XORG_VERSION/util-macros.tar.bz2
pushd util-macros-* pushd util-macros-*
echo "Building macros" echo "Building macros"
./configure ${1+"$@"} --prefix=${PREFIX} ./configure ${1+"$@"} --prefix=${PREFIX}
($MAKE);
make install
popd
($MAKE install)
popd popd


pushd xserver pushd xserver
patch -p1 < ../xserver15.patch
patch -p1 < $SRCDIR/unix/xserver15.patch
popd
popd popd


cd ..
pushd $SRCDIR
if [ ! -f ./configure ]; then if [ ! -f ./configure ]; then
autoreconf -fiv autoreconf -fiv
fi fi
cd unix
popd
} }




update_modules() update_modules()
{ {
if [ -d xorg ]; then rm -rf xorg; fi
mkdir xorg
pushd xorg pushd xorg
../download-xorg
$SRCDIR/unix/download-xorg-$XORG_VERSION
for module in ${modules}; do for module in ${modules}; do
tar jxf ~/.tigervnc-build/${module}.tar.bz2
tar jxf ~/.tigervnc-xorg-$XORG_VERSION/${module}.tar.bz2
done done
tar jxf ~/.tigervnc-build/Mesa.tar.bz2
tar jxf ~/.tigervnc-build/freetype.tar.bz2
tar jxf ~/.tigervnc-build/xorg-server.tar.bz2
cp -r xorg-server-1.*/* ../xserver
tar jxf ~/.tigervnc-xorg-$XORG_VERSION/Mesa.tar.bz2
tar jxf ~/.tigervnc-xorg-$XORG_VERSION/freetype.tar.bz2
tar jxf ~/.tigervnc-xorg-$XORG_VERSION/xorg-server.tar.bz2
cp -r $SRCDIR/unix/xserver xserver
cp -r xorg-server-1.*/* xserver
popd popd
} }


{ {
# Build VNC # Build VNC
echo "*** Building VNC ***" echo "*** Building VNC ***"
cd ..
make distclean || true
./configure ${1+"$@"} --prefix=${PREFIX}
make
cd unix
$SRCDIR/configure ${1+"$@"} --prefix=${PREFIX}
($MAKE)


# Build Xorg # Build Xorg
echo "*** Building Xorg ***" echo "*** Building Xorg ***"
echo "Failed to configure ${module}." echo "Failed to configure ${module}."
exit exit
fi fi
($MAKE);
make install
($MAKE install)
cd .. cd ..
done done


echo "Failed to configure Mesa." echo "Failed to configure Mesa."
exit exit
fi fi
($MAKE)
make install
($MAKE install)
popd popd


# build freetype # build freetype
echo "Failed to configure freetype." echo "Failed to configure freetype."
exit exit
fi fi
($MAKE)
make install
($MAKE install)
popd popd
fi fi




# build xserver # build xserver
echo "*** Building xserver ***" echo "*** Building xserver ***"
cd xserver
pushd xorg/xserver
autoreconf -fiv autoreconf -fiv
XORGCFGFLAGS='--disable-xinerama --disable-xvfb --disable-xnest --disable-xorg' XORGCFGFLAGS='--disable-xinerama --disable-xvfb --disable-xnest --disable-xorg'
if [ $STATIC = 1 ]; then if [ $STATIC = 1 ]; then
echo "Failed to configure X server." echo "Failed to configure X server."
exit exit
fi fi
($MAKE)
make install
cd ..
($MAKE TIGERVNC_SRCDIR=$SRCDIR install)
popd
}

rebuild ()
{
# Build VNC
echo "*** Building VNC ***"
($MAKE ${1+"$@"})

# build xserver
echo "*** Building xserver ***"
pushd xorg/xserver
($MAKE TIGERVNC_SRCDIR=$SRCDIR install ${1+"$@"})
popd
} }


case "$1" in
init)
shift
if [ "$1" = "-static" ]; then
STATIC=1
shift
fi
init ${1+"$@"}
;;
build)
shift
if [ "$1" = "-static" ]; then
STATIC=1
shift
fi
build ${1+"$@"}
;;
update)
shift
if [ "$1" = "-static" ]; then
STATIC=1
shift
fi
update_modules
;;
*)
echo "Usage: $0 init | build | update [-static] [additional configure flags]"
exit 3

usage ()
{
echo "Usage: $0 init -version <7.4 | 7.5>"
echo " [-srcdir <source dir>]"
echo
echo " $0 build -version <7.4 | 7.5>"
echo " [-srcdir <source dir>] [-static] [additional configure flags]"
echo
echo " $0 rebuild -version <7.4 | 7.5> "
echo " [additional make options]"
echo
echo " $0 update -version <7.4 | 7.5>"
echo " [-srcdir <source dir>]"
echo
echo "-static = build a stand-alone version of Xvnc which does not depend on"
echo " the shared X11 libraries"
echo
echo "-srcdir = specify the top directory of the TigerVNC source tree"
echo " (default = ..)"
exit 1
}


while [ $# -gt 0 ]
do
case "$1" in
init) MODE=init ;;
build) MODE=build ;;
rebuild) MODE=rebuild ;;
update) MODE=update ;;
-static) STATIC=1 ;;
-version) XORG_VERSION=$2; shift ;;
-srcdir) SRCDIR=$2; shift ;;
*) break ;;
esac
shift
done

if [ "$XORG_VERSION" = "" -o "$MODE" = "" ]
then
usage
fi

pushd $SRCDIR
SRCDIR=`pwd`
popd

case "$MODE" in
init) init ;;
build) build ${1+"$@"} ;;
rebuild) rebuild ${1+"$@"} ;;
update) update ;;
*) usage ;;
esac esac

unix/download-xorg → unix/download-xorg-7.4 View File





def main(): def main():
dir = os.path.expanduser("~")+"/.tigervnc-build"
dir = os.path.expanduser("~")+"/.tigervnc-xorg-7.4"
cwd = os.getcwd() cwd = os.getcwd()
if not os.path.exists(dir): if not os.path.exists(dir):
os.mkdir(dir) os.mkdir(dir)

+ 6
- 6
unix/xserver/hw/vnc/Makefile.am View File

LIB_DIR=$(top_srcdir)/../../common
BIN_DIR=$(top_srcdir)/..
TIGERVNC_SRCDIR=${top_srcdir}/../..
LIB_DIR=${top_builddir}/../../common


RFB_LIB=$(LIB_DIR)/rfb/librfb.la RFB_LIB=$(LIB_DIR)/rfb/librfb.la
RDR_LIB=$(LIB_DIR)/rdr/librdr.la RDR_LIB=$(LIB_DIR)/rdr/librdr.la
Input.cc Input.cc


libvnccommon_la_CPPFLAGS = -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \ libvnccommon_la_CPPFLAGS = -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \
-DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(LIB_DIR) -UHAVE_CONFIG_H \
-I$(BIN_DIR)/vncconfig $(XVNC_CPPFLAGS) -I$(includedir)/pixman-1 -I$(includedir)
-DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(TIGERVNC_SRCDIR)/common -UHAVE_CONFIG_H \
-I$(TIGERVNC_SRCDIR)/unix/vncconfig $(XVNC_CPPFLAGS) -I$(includedir)/pixman-1 -I$(includedir)


bin_PROGRAMS = Xvnc bin_PROGRAMS = Xvnc




Xvnc_CPPFLAGS = $(XVNC_CPPFLAGS) -DNO_HW_ONLY_EXTS -DNO_MODULE_EXTS -UHAVE_CONFIG_H \ Xvnc_CPPFLAGS = $(XVNC_CPPFLAGS) -DNO_HW_ONLY_EXTS -DNO_MODULE_EXTS -UHAVE_CONFIG_H \
-DXFree86Server -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \ -DXFree86Server -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \
-DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(LIB_DIR) \
-DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(TIGERVNC_SRCDIR)/common \
-I$(top_srcdir)/include -I$(includedir)/pixman-1 -I$(includedir) -I$(top_srcdir)/include -I$(includedir)/pixman-1 -I$(includedir)


Xvnc_LDADD = $(XVNC_LIBS) libvnccommon.la $(COMMON_LIBS) \ Xvnc_LDADD = $(XVNC_LIBS) libvnccommon.la $(COMMON_LIBS) \


libvnc_la_SOURCES = xf86vncModule.cc libvnc_la_SOURCES = xf86vncModule.cc


libvnc_la_CPPFLAGS = $(XVNC_CPPFLAGS) -I$(LIB_DIR) -UHAVE_CONFIG_H \
libvnc_la_CPPFLAGS = $(XVNC_CPPFLAGS) -I$(TIGERVNC_SRCDIR)/common -UHAVE_CONFIG_H \
-I$(top_srcdir)/hw/xfree86/common \ -I$(top_srcdir)/hw/xfree86/common \
-I$(top_srcdir)/hw/xfree86/os-support \ -I$(top_srcdir)/hw/xfree86/os-support \
-I$(top_srcdir)/hw/xfree86/os-support/bus \ -I$(top_srcdir)/hw/xfree86/os-support/bus \

Loading…
Cancel
Save