--- a/open-src/xserver/xvnc/Makefile Wed Nov 12 11:14:21 2014 -0800
+++ b/open-src/xserver/xvnc/Makefile Sun Nov 23 21:46:46 2014 -0800
@@ -53,11 +53,12 @@
# Xorg server source tarball to use sources from
XORG_TARBALL=$(TARBALLDIR)/xorg-server-$(XORGSERVER_VERS).tar.bz2
-XORG_SOURCE_DIR=$(BUILD_DIR)/xorg-server-$(XORGSERVER_VERS)
-XORG_BUILD_DIR=$(SOURCE_DIR)/unix/xserver
+XORG_SOURCE_DIR = $(SOURCE_DIR)/unix/xserver
+XORG_BUILD_DIR = $(BUILD_DIR)/unix/xserver
# Java VNCviewer applet for connecting from a web browser
-JAVA_SOURCE_DIR = $(SOURCE_DIR)/java/src/com/tigervnc/vncviewer
+JAVA_SOURCE_DIR = $(SOURCE_DIR)/java/src/com/tigervnc
+JAVA_BUILD_DIR = $(BUILD_DIR)/java/src/com/tigervnc
# Download site for source
SOURCE_URL=$(SF_DOWNLOADS_URL)/tigervnc/tigervnc/1.1.0/$(SOURCE_TARBALL_NAME)
@@ -83,6 +84,9 @@
# Need to regenerate autoconf/automake files after patching
AUTORECONF=yes
+# TigerVNC 1.1 doesn't fully support out-of-tree builds, so clone the source
+CLONE_SRC = yes
+
# Disable parfait build with 1.3 - 17759056
USE_PARFAIT=no
@@ -152,8 +156,8 @@
# Merge in additional sources from Xorg tarball & sun-src directory
# This step has to be done before default_source, so that patches applied
# in that step work correctly.
-$(NO_RECURSE)XORG_SOURCE_INIT_TARGET = $(XORG_BUILD_DIR)/$(SOURCE_INIT_TARGET_FILE)
-$(NO_RECURSE)XORG_PATCHED_TARGET = $(XORG_BUILD_DIR)/$(PATCHED_TARGET_FILE)
+$(NO_RECURSE)XORG_SOURCE_INIT_TARGET = $(XORG_SOURCE_DIR)/$(SOURCE_INIT_TARGET_FILE)
+$(NO_RECURSE)XORG_PATCHED_TARGET = $(XORG_SOURCE_DIR)/$(PATCHED_TARGET_FILE)
Xvnc_source_init: $(XORG_PATCHED_TARGET)
$(XORG_TARBALL):
@@ -166,10 +170,9 @@
BUILD_TYPE="$(BUILD_TYPE)" \
SOURCE_TARBALL="$(XORG_TARBALL)" \
SOURCE_DEPS="$(XORG_TARBALL)" \
- SOURCE_DIR="$(XORG_BUILD_DIR)" \
- BUILD_DIR="$(XORG_BUILD_DIR)" \
- ADD_TAR_FLAGS="--strip-components=1"
- (cd $(XORG_BUILD_DIR) && $(LNDIR) ../../../../../xorg/sun-src)
+ SOURCE_DIR="$(XORG_SOURCE_DIR)" \
+ BUILD_DIR="$(XORG_BUILD_DIR)"
+ (cd $(XORG_SOURCE_DIR) && $(LNDIR) ../../../../xorg/sun-src)
touch $(XORG_SOURCE_INIT_TARGET)
$(XORG_PATCHED_TARGET): $(XORG_SOURCE_INIT_TARGET)
@@ -177,9 +180,10 @@
NO_RECURSE="$(POUND_SIGN)" \
BUILD_TYPE="$(BUILD_TYPE)" \
SOURCE_PATCHES="$(XORG_SOURCE_PATCHES:%=../xorg/%)" \
- SOURCE_DIR="$(XORG_BUILD_DIR)" \
+ SOURCE_DIR="$(XORG_SOURCE_DIR)" \
+ BUILD_DIR="$(XORG_BUILD_DIR)" \
XORG_BUILD_DIR="$(XORG_BUILD_DIR)"
- (cd $(SOURCE_DIR) && $(LNDIR) ../../sun-src)
+ (cd $(SOURCE_DIR) && $(LNDIR) ../sun-src)
touch $(XORG_PATCHED_TARGET)
# Command line options to GNU autoconf configure script for Xvnc
@@ -211,7 +215,7 @@
MODULE_MAKEFLAGS = PROTODIR=$(PROTODIR)
# Run configure script for Xvnc
-$(XORG_BUILD_DIR)/Makefile: $(SOURCE_TARGETS)
+$(XORG_BUILD_DIR)/Makefile: $(SOURCE_TARGETS) $(BUILD_DIR)
(cd $(XORG_BUILD_DIR) && \
$(AUTORECONF_ENV) autoreconf --install --force && \
$(CONFIG_ENV) $(CONFIG_SHELL) ./configure $(XVNC_CONFIG_OPTS) )
@@ -219,10 +223,8 @@
Xvnc_build: $(CONFIGURE_TARGETS)
$(PERL) -i -p -e 's{/usr/bin/env perl}{$(PERL)}' \
$(SOURCE_DIR)/unix/vncserver
- (cd $(SOURCE_DIR) ; \
- $(BUILD_ENV) $(MAKE) $(MAKEFLAGS) $(DEFAULT_BUILD_MAKEFLAGS))
- (cd $(XORG_BUILD_DIR) ; \
- $(BUILD_ENV) $(MAKE) $(MAKEFLAGS) $(DEFAULT_BUILD_MAKEFLAGS))
+ $(DEFAULT_BUILD_COMMAND:@DIR@=$(BUILD_DIR))
+ $(DEFAULT_BUILD_COMMAND:@DIR@=$(XORG_BUILD_DIR))
Xvnc_install_server: $(BUILD_TARGETS)
(cd $(XORG_BUILD_DIR)/hw/vnc \
@@ -232,11 +234,11 @@
Xvnc_install_programs: $(BUILD_TARGETS)
mkdir -p $(PROTODIR)/usr/bin/$(ARCHBINSUBDIR)
- $(INSTALL_SCRIPT) -m 0755 $(SOURCE_DIR)/unix/vncserver \
- $(SOURCE_DIR)/unix/vncpasswd/vncpasswd \
- $(SOURCE_DIR)/unix/vncconfig/vncconfig \
- $(SOURCE_DIR)/unix/vncviewer/vncviewer \
- $(SOURCE_DIR)/unix/x0vncserver/x0vncserver \
+ $(INSTALL_SCRIPT) -m 0755 $(BUILD_DIR)/unix/vncserver \
+ $(BUILD_DIR)/unix/vncpasswd/vncpasswd \
+ $(BUILD_DIR)/unix/vncconfig/vncconfig \
+ $(BUILD_DIR)/unix/vncviewer/vncviewer \
+ $(BUILD_DIR)/unix/x0vncserver/x0vncserver \
$(PROTODIR)/usr/bin/$(ARCHBINSUBDIR)
Xvnc_install_data: $(SOURCE_TARGETS)
@@ -258,24 +260,21 @@
# Java VNCviewer applet for connecting from a web browser
JAVA_INSTALL_DIR = $(PROTODIR)/usr/share/vnc/classes
-JAVA_JAR_FILE = $(JAVA_SOURCE_DIR)/VncViewer.jar
+JAVA_JAR_FILE = $(JAVA_BUILD_DIR)/vncviewer/VncViewer.jar
java_build: $(JAVA_JAR_FILE)
-$(JAVA_JAR_FILE): $(SOURCE_TARGETS)
- (cd $(JAVA_SOURCE_DIR)/../decoder ; \
- $(BUILD_ENV) $(MAKE) $(MAKEFLAGS) $(DEFAULT_BUILD_MAKEFLAGS))
- (cd $(JAVA_SOURCE_DIR) ; \
- $(BUILD_ENV) $(MAKE) $(MAKEFLAGS) $(DEFAULT_BUILD_MAKEFLAGS))
+$(JAVA_JAR_FILE): $(SOURCE_TARGETS) $(BUILD_DIR)
+ $(DEFAULT_BUILD_COMMAND:@DIR@=$(JAVA_BUILD_DIR)/decoder)
+ $(DEFAULT_BUILD_COMMAND:@DIR@=$(JAVA_BUILD_DIR)/vncviewer)
java_install: $(JAVA_JAR_FILE)
-rm -rf $(JAVA_INSTALL_DIR)
mkdir -p $(JAVA_INSTALL_DIR)
- (cd $(JAVA_SOURCE_DIR) ; \
- $(BUILD_ENV) $(MAKE) $(MAKEFLAGS) $(DEFAULT_BUILD_MAKEFLAGS) \
- install INSTALL_DIR=$(JAVA_INSTALL_DIR))
- $(INSTALL_SCRIPT) -m 0444 $(JAVA_SOURCE_DIR)/README \
- $(JAVA_SOURCE_DIR)/LICENCE.TXT \
+ $(DEFAULT_INSTALL_COMMAND:@DIR@=$(JAVA_BUILD_DIR)/vncviewer) \
+ install INSTALL_DIR=$(JAVA_INSTALL_DIR)
+ $(INSTALL_SCRIPT) -m 0444 $(JAVA_SOURCE_DIR)/vncviewer/README \
+ $(JAVA_SOURCE_DIR)/vncviewer/LICENCE.TXT \
$(JAVA_INSTALL_DIR)
chmod a+x $(JAVA_INSTALL_DIR)/VncViewer.jar
rm -f $(JAVA_INSTALL_DIR)/*.class