On Tue, Aug 23, 2011 at 12:50:52PM -0500, DRC wrote:
> On 8/17/11 4:01 PM, Martin Koegler wrote:
> > First of all, Makefile.am is missing some include path, so that a out of
> > source tree build fails (xserver 1.7):
> > --- tigervnc-1.0.1.svn0.orig/unix/xserver/hw/vnc/Makefile.am
> > +++ tigervnc-1.0.1.svn0/unix/xserver/hw/vnc/Makefile.am
> > @@ -17,7 +17,8 @@ libvnccommon_la_SOURCES = $(HDRS) vncExt
> >
> > libvnccommon_la_CPPFLAGS = -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \
> > -DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(TIGERVNC_SRCDIR)/common
> > -UHAVE_CONFIG_H \
> > - -I$(TIGERVNC_SRCDIR)/unix/vncconfig $(XVNC_CPPFLAGS)
> > -I$(includedir)/pixman-1 -I$(includedir)
> > + -I$(TIGERVNC_SRCDIR)/unix/vncconfig $(XVNC_CPPFLAGS)
> > -I$(includedir)/pixman-1 -I$(includedir) \
> > + -I$(top_srcdir)/include
> >
> > bin_PROGRAMS = Xvnc
> >
> > @@ -49,6 +50,7 @@ libvnc_la_CPPFLAGS = $(XVNC_CPPFLAGS) -I
> > -I$(top_srcdir)/hw/xfree86/common \
> > -I$(top_srcdir)/hw/xfree86/os-support \
> > -I$(top_srcdir)/hw/xfree86/os-support/bus \
> > + -I$(top_srcdir)/include \
> > -I$(includedir)/pixman-1 -I$(includedir)
> >
> > libvnc_la_LDFLAGS = -module -avoid-version
> >
> > My second problem is, that it seems no longer possible to build the vnc
> > module. Linking the
> > vnc module for the Xserver leads to an linker error, because cmake only
> > generates non-PIC object files (eg libnetwork).
> > autotools+libtool did this automatically.
>
> Martin,
>
> I'll ask again. How are you building vnc.so?
I'm trying to build a debian package for tigervnc reusing the distribution
xserver sources.
To your commited build options patch:
In my case, I put the xserver sources under the tigervnc sources
(unix/xserver-XXX)
and build the X server in the cmake build directory too (seperate directories
for xserver sources/binaries).
The build system only add ../../include [include of the build directory], not
include of the xserver sources.
XSERVERLIBS_CFLAGS does not contains this include directory, therefore my build
still fails. I'm missing $(top_srcdir)/include
in the include path.
Just for the reference, my current debian/rules:
#!/usr/bin/make -f
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/cmake.mk
include /usr/share/cdbs/1/rules/utils.mk
DEB_CMAKE_EXTRA_FLAGS := -DENABLE_GNUTLS=ON
XSERVER_VERSION=1.7.7
XSERVER_DIR=$(CURDIR)/unix/xorg-server-$(XSERVER_VERSION)
XSERVER_BUILD_DIR=$(DEB_BUILDDIR)/unix/xorg-server-$(XSERVER_VERSION)
extract-xserver-stamp: xserver/xorg-server_$(XSERVER_VERSION).orig.tar.gz
$(wildcard xserver/xorg-server_$(XSERVER_VERISON)-*.diff) unix/xserver17.patch
rm -rf $(XSERVER_DIR)
cd unix && tar xzf ../xserver/xorg-server_$(XSERVER_VERSION).orig.tar.gz
cd $(XSERVER_DIR) && patch -p1 < ../../$(wildcard
xserver/xorg-server_$(XSERVER_VERSION)-*.diff)
QUILT_PATCHES=$(XSERVER_DIR)/debian/patches
QUILT_SERIES=$(XSERVER_DIR)/debian/patches/series quilt import
unix/xserver17.patch
cd $(XSERVER_DIR) && QUILT_PATCHES=debian/patches
QUILT_SERIES=debian/patches/series quilt push -a
touch extract-xserver-stamp
update-xserver-stamp: extract-xserver-stamp $(wildcard unix/xserver/hw/vnc/*)
rm -rf $(XSERVER_DIR)/hw/vnc
cp -r unix/xserver/hw $(XSERVER_DIR)
touch update-xserver-stamp
configure-xserver-stamp: update-xserver-stamp
cd $(XSERVER_DIR) && autoreconf -i
mkdir -p $(XSERVER_BUILD_DIR)
cd $(XSERVER_BUILD_DIR) && $(XSERVER_DIR)/configure \
--prefix=/usr \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--sysconfdir=/etc \
--localstatedir=/var \
--disable-static \
--without-dtrace \
--disable-werror \
--disable-debug \
--disable-unit-tests \
--with-int10=x86emu \
--with-xkb-path=/usr/share/X11/xkb \
--with-xkb-output=/var/lib/xkb \
--with-default-xkb-rules=evdev \
--disable-builddocs \
--disable-install-libxf86config \
--disable-null-root-cursor \
--enable-mitshm \
--enable-xres \
--disable-xcsecurity \
--disable-xcalibrate \
--disable-tslib \
--disable-multibuffer \
--enable-dbe \
--disable-xf86bigfont \
--enable-dpms \
--disable-config-udev --disable-config-hal \
--disable-xorg \
--disable-xquartz \
--disable-xwin \
--disable-xsdl \
--disable-xfake \
--disable-install-setuid \
--with-default-font-path="/usr/share/fonts/X11/misc,/usr/share/fonts/X11/cyrillic,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType,built-ins"
\
--enable-aiglx \
--enable-glx-tls \
--enable-registry \
--enable-composite \
--enable-record \
--enable-xv \
--enable-xvmc \
--enable-dga \
--enable-screensaver \
--enable-xdmcp \
--enable-xdm-auth-1 \
--enable-glx \
--enable-xinerama \
--enable-xace \
--disable-dmx \
--disable-xvfb \
--disable-xnest \
--disable-kdrive \
--disable-xephyr \
--disable-xfbdev \
--enable-xselinux \
--with-sha1=libgcrypt \
--enable-xcsecurity
touch configure-xserver-stamp
build/tigervncserver:: configure-xserver-stamp
make -C $(XSERVER_BUILD_DIR)
install/tigervncserver::
make -C $(XSERVER_BUILD_DIR) install DESTDIR=$(CURDIR)/debian/tmp/
rename "s/vnc/tigervnc/;" debian/tmp/usr/bin/*
debian/tmp/usr/share/man/man1/*
clean::
rm -rf $(XSERVER_DIR)
rm -rf $(XSERVER_BUILD_DIR)
rm -rf extract-xserver-stamp update-xserver-stamp
configure-xserver-stamp
------------------------------------------------------------------------------
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management
Up to 160% more powerful than alternatives and 25% more efficient.
Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
_______________________________________________
Tigervnc-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel