open-src/xserver/xvnc/Makefile
changeset 1422 e9cadc0026d8
parent 1389 39de14169e78
child 1438 d8b9f5323d55
equal deleted inserted replaced
1421:e78901f90784 1422:e9cadc0026d8
    51 SOURCE_TARBALL_NAME=$(MODULE_NAME)-$(MODULE_VERSION).tar.gz
    51 SOURCE_TARBALL_NAME=$(MODULE_NAME)-$(MODULE_VERSION).tar.gz
    52 SOURCE_TARBALL_NAME_SET=yes
    52 SOURCE_TARBALL_NAME_SET=yes
    53 
    53 
    54 # Xorg server source tarball to use sources from
    54 # Xorg server source tarball to use sources from
    55 XORG_TARBALL=$(TARBALLDIR)/xorg-server-$(XORGSERVER_VERS).tar.bz2
    55 XORG_TARBALL=$(TARBALLDIR)/xorg-server-$(XORGSERVER_VERS).tar.bz2
    56 XORG_SOURCE_DIR=$(BUILD_DIR)/xorg-server-$(XORGSERVER_VERS)
    56 XORG_SOURCE_DIR = $(SOURCE_DIR)/unix/xserver
    57 XORG_BUILD_DIR=$(SOURCE_DIR)/unix/xserver
    57 XORG_BUILD_DIR  = $(BUILD_DIR)/unix/xserver
    58 
    58 
    59 # Java VNCviewer applet for connecting from a web browser
    59 # Java VNCviewer applet for connecting from a web browser
    60 JAVA_SOURCE_DIR = $(SOURCE_DIR)/java/src/com/tigervnc/vncviewer
    60 JAVA_SOURCE_DIR = $(SOURCE_DIR)/java/src/com/tigervnc
       
    61 JAVA_BUILD_DIR  = $(BUILD_DIR)/java/src/com/tigervnc
    61 
    62 
    62 # Download site for source
    63 # Download site for source
    63 SOURCE_URL=$(SF_DOWNLOADS_URL)/tigervnc/tigervnc/1.1.0/$(SOURCE_TARBALL_NAME)
    64 SOURCE_URL=$(SF_DOWNLOADS_URL)/tigervnc/tigervnc/1.1.0/$(SOURCE_TARBALL_NAME)
    64 SOURCE_URL_SET=yes
    65 SOURCE_URL_SET=yes
    65 
    66 
    81 SOURCE_PATCHES += 17950657.patch,-p1
    82 SOURCE_PATCHES += 17950657.patch,-p1
    82 
    83 
    83 # Need to regenerate autoconf/automake files after patching
    84 # Need to regenerate autoconf/automake files after patching
    84 AUTORECONF=yes
    85 AUTORECONF=yes
    85 
    86 
       
    87 # TigerVNC 1.1 doesn't fully support out-of-tree builds, so clone the source
       
    88 CLONE_SRC = yes
       
    89 
    86 # Disable parfait build with 1.3 - 17759056
    90 # Disable parfait build with 1.3 - 17759056
    87 USE_PARFAIT=no
    91 USE_PARFAIT=no
    88 
    92 
    89 # ARC cases that covered this module
    93 # ARC cases that covered this module
    90 # PSARC/2007/545 Xvnc
    94 # PSARC/2007/545 Xvnc
   150 include ../Makefile.inc
   154 include ../Makefile.inc
   151 
   155 
   152 # Merge in additional sources from Xorg tarball & sun-src directory
   156 # Merge in additional sources from Xorg tarball & sun-src directory
   153 # This step has to be done before default_source, so that patches applied
   157 # This step has to be done before default_source, so that patches applied
   154 # in that step work correctly.
   158 # in that step work correctly.
   155 $(NO_RECURSE)XORG_SOURCE_INIT_TARGET = $(XORG_BUILD_DIR)/$(SOURCE_INIT_TARGET_FILE)
   159 $(NO_RECURSE)XORG_SOURCE_INIT_TARGET = $(XORG_SOURCE_DIR)/$(SOURCE_INIT_TARGET_FILE)
   156 $(NO_RECURSE)XORG_PATCHED_TARGET = $(XORG_BUILD_DIR)/$(PATCHED_TARGET_FILE)
   160 $(NO_RECURSE)XORG_PATCHED_TARGET = $(XORG_SOURCE_DIR)/$(PATCHED_TARGET_FILE)
   157 Xvnc_source_init: $(XORG_PATCHED_TARGET)
   161 Xvnc_source_init: $(XORG_PATCHED_TARGET)
   158 
   162 
   159 $(XORG_TARBALL):
   163 $(XORG_TARBALL):
   160 	(cd ../xorg && $(MAKE) $(MAKEFLAGS) download)
   164 	(cd ../xorg && $(MAKE) $(MAKEFLAGS) download)
   161 
   165 
   164 	$(MAKE) $(MAKEFLAGS) init_source \
   168 	$(MAKE) $(MAKEFLAGS) init_source \
   165 		NO_RECURSE="$(POUND_SIGN)" \
   169 		NO_RECURSE="$(POUND_SIGN)" \
   166 		BUILD_TYPE="$(BUILD_TYPE)" \
   170 		BUILD_TYPE="$(BUILD_TYPE)" \
   167 		SOURCE_TARBALL="$(XORG_TARBALL)" \
   171 		SOURCE_TARBALL="$(XORG_TARBALL)" \
   168 		SOURCE_DEPS="$(XORG_TARBALL)" \
   172 		SOURCE_DEPS="$(XORG_TARBALL)" \
   169 		SOURCE_DIR="$(XORG_BUILD_DIR)" \
   173 		SOURCE_DIR="$(XORG_SOURCE_DIR)" \
   170 		BUILD_DIR="$(XORG_BUILD_DIR)" \
   174 		BUILD_DIR="$(XORG_BUILD_DIR)"
   171 		ADD_TAR_FLAGS="--strip-components=1"
   175 	(cd $(XORG_SOURCE_DIR) && $(LNDIR) ../../../../xorg/sun-src)
   172 	(cd $(XORG_BUILD_DIR) && $(LNDIR) ../../../../../xorg/sun-src)
       
   173 	touch $(XORG_SOURCE_INIT_TARGET)
   176 	touch $(XORG_SOURCE_INIT_TARGET)
   174 
   177 
   175 $(XORG_PATCHED_TARGET): $(XORG_SOURCE_INIT_TARGET)
   178 $(XORG_PATCHED_TARGET): $(XORG_SOURCE_INIT_TARGET)
   176 	$(MAKE) $(MAKEFLAGS) patched_source \
   179 	$(MAKE) $(MAKEFLAGS) patched_source \
   177 		NO_RECURSE="$(POUND_SIGN)" \
   180 		NO_RECURSE="$(POUND_SIGN)" \
   178 		BUILD_TYPE="$(BUILD_TYPE)" \
   181 		BUILD_TYPE="$(BUILD_TYPE)" \
   179 		SOURCE_PATCHES="$(XORG_SOURCE_PATCHES:%=../xorg/%)" \
   182 		SOURCE_PATCHES="$(XORG_SOURCE_PATCHES:%=../xorg/%)" \
   180 		SOURCE_DIR="$(XORG_BUILD_DIR)" \
   183 		SOURCE_DIR="$(XORG_SOURCE_DIR)" \
       
   184 		BUILD_DIR="$(XORG_BUILD_DIR)" \
   181 		XORG_BUILD_DIR="$(XORG_BUILD_DIR)"
   185 		XORG_BUILD_DIR="$(XORG_BUILD_DIR)"
   182 	(cd $(SOURCE_DIR) && $(LNDIR) ../../sun-src)
   186 	(cd $(SOURCE_DIR) && $(LNDIR) ../sun-src)
   183 	touch $(XORG_PATCHED_TARGET)
   187 	touch $(XORG_PATCHED_TARGET)
   184 
   188 
   185 # Command line options to GNU autoconf configure script for Xvnc
   189 # Command line options to GNU autoconf configure script for Xvnc
   186 XVNC_CONFIG_OPTS = $(DEFAULT_CONFIG_OPTS) $(XSERVER_CONFIG_OPTS)
   190 XVNC_CONFIG_OPTS = $(DEFAULT_CONFIG_OPTS) $(XSERVER_CONFIG_OPTS)
   187 # Disable all the things we don't need in the Xvnc build since we
   191 # Disable all the things we don't need in the Xvnc build since we
   209 # Needed by unix/xorg-x11-server-source/hw/vnc/Makefile.am to find libpixman
   213 # Needed by unix/xorg-x11-server-source/hw/vnc/Makefile.am to find libpixman
   210 # headers in proto area after solaris-port.patch is applied
   214 # headers in proto area after solaris-port.patch is applied
   211 MODULE_MAKEFLAGS = PROTODIR=$(PROTODIR)
   215 MODULE_MAKEFLAGS = PROTODIR=$(PROTODIR)
   212 
   216 
   213 # Run configure script for Xvnc
   217 # Run configure script for Xvnc
   214 $(XORG_BUILD_DIR)/Makefile: $(SOURCE_TARGETS)
   218 $(XORG_BUILD_DIR)/Makefile: $(SOURCE_TARGETS) $(BUILD_DIR)
   215 	(cd $(XORG_BUILD_DIR) &&  \
   219 	(cd $(XORG_BUILD_DIR) &&  \
   216 		$(AUTORECONF_ENV) autoreconf --install --force && \
   220 		$(AUTORECONF_ENV) autoreconf --install --force && \
   217 		$(CONFIG_ENV) $(CONFIG_SHELL) ./configure $(XVNC_CONFIG_OPTS) )
   221 		$(CONFIG_ENV) $(CONFIG_SHELL) ./configure $(XVNC_CONFIG_OPTS) )
   218 
   222 
   219 Xvnc_build: $(CONFIGURE_TARGETS)
   223 Xvnc_build: $(CONFIGURE_TARGETS)
   220 	$(PERL) -i -p -e 's{/usr/bin/env perl}{$(PERL)}' \
   224 	$(PERL) -i -p -e 's{/usr/bin/env perl}{$(PERL)}' \
   221 		$(SOURCE_DIR)/unix/vncserver
   225 		$(SOURCE_DIR)/unix/vncserver
   222 	(cd $(SOURCE_DIR) ; \
   226 	$(DEFAULT_BUILD_COMMAND:@DIR@=$(BUILD_DIR))
   223 	 $(BUILD_ENV) $(MAKE) $(MAKEFLAGS) $(DEFAULT_BUILD_MAKEFLAGS))
   227 	$(DEFAULT_BUILD_COMMAND:@DIR@=$(XORG_BUILD_DIR))
   224 	(cd $(XORG_BUILD_DIR) ; \
       
   225 	 $(BUILD_ENV) $(MAKE) $(MAKEFLAGS) $(DEFAULT_BUILD_MAKEFLAGS))
       
   226 
   228 
   227 Xvnc_install_server: $(BUILD_TARGETS)
   229 Xvnc_install_server: $(BUILD_TARGETS)
   228 	(cd $(XORG_BUILD_DIR)/hw/vnc \
   230 	(cd $(XORG_BUILD_DIR)/hw/vnc \
   229 	 &&  $(BUILD_ENV) $(MAKE) $(MAKEFLAGS) $(DEFAULT_INSTALL_MAKEFLAGS) \
   231 	 &&  $(BUILD_ENV) $(MAKE) $(MAKEFLAGS) $(DEFAULT_INSTALL_MAKEFLAGS) \
   230 	 CPPROG="cp -p" install)
   232 	 CPPROG="cp -p" install)
   231 	rm -f $(PROTODIR)/$(X11_SERVERMODS_DIR)/extensions/libvnc.so
   233 	rm -f $(PROTODIR)/$(X11_SERVERMODS_DIR)/extensions/libvnc.so
   232 
   234 
   233 Xvnc_install_programs: $(BUILD_TARGETS)
   235 Xvnc_install_programs: $(BUILD_TARGETS)
   234 	mkdir -p $(PROTODIR)/usr/bin/$(ARCHBINSUBDIR)
   236 	mkdir -p $(PROTODIR)/usr/bin/$(ARCHBINSUBDIR)
   235 	$(INSTALL_SCRIPT) -m 0755 $(SOURCE_DIR)/unix/vncserver \
   237 	$(INSTALL_SCRIPT) -m 0755 $(BUILD_DIR)/unix/vncserver \
   236 		$(SOURCE_DIR)/unix/vncpasswd/vncpasswd \
   238 		$(BUILD_DIR)/unix/vncpasswd/vncpasswd \
   237 		$(SOURCE_DIR)/unix/vncconfig/vncconfig \
   239 		$(BUILD_DIR)/unix/vncconfig/vncconfig \
   238 		$(SOURCE_DIR)/unix/vncviewer/vncviewer \
   240 		$(BUILD_DIR)/unix/vncviewer/vncviewer \
   239 		$(SOURCE_DIR)/unix/x0vncserver/x0vncserver \
   241 		$(BUILD_DIR)/unix/x0vncserver/x0vncserver \
   240 		$(PROTODIR)/usr/bin/$(ARCHBINSUBDIR)
   242 		$(PROTODIR)/usr/bin/$(ARCHBINSUBDIR)
   241 
   243 
   242 Xvnc_install_data: $(SOURCE_TARGETS)
   244 Xvnc_install_data: $(SOURCE_TARGETS)
   243 	mkdir -p $(PROTODIR)/usr/share/man/man1 \
   245 	mkdir -p $(PROTODIR)/usr/share/man/man1 \
   244 		$(PROTODIR)$(SMF_MANIFEST_DIR)/application/x11 
   246 		$(PROTODIR)$(SMF_MANIFEST_DIR)/application/x11 
   256 	$(INSTALL_SCRIPT) -m 0444 xvnc-inetd.xml \
   258 	$(INSTALL_SCRIPT) -m 0444 xvnc-inetd.xml \
   257 		$(PROTODIR)$(SMF_MANIFEST_DIR)/application/x11/
   259 		$(PROTODIR)$(SMF_MANIFEST_DIR)/application/x11/
   258 
   260 
   259 # Java VNCviewer applet for connecting from a web browser
   261 # Java VNCviewer applet for connecting from a web browser
   260 JAVA_INSTALL_DIR = $(PROTODIR)/usr/share/vnc/classes
   262 JAVA_INSTALL_DIR = $(PROTODIR)/usr/share/vnc/classes
   261 JAVA_JAR_FILE = $(JAVA_SOURCE_DIR)/VncViewer.jar
   263 JAVA_JAR_FILE = $(JAVA_BUILD_DIR)/vncviewer/VncViewer.jar
   262 
   264 
   263 java_build: $(JAVA_JAR_FILE)
   265 java_build: $(JAVA_JAR_FILE)
   264 
   266 
   265 $(JAVA_JAR_FILE): $(SOURCE_TARGETS)
   267 $(JAVA_JAR_FILE): $(SOURCE_TARGETS) $(BUILD_DIR)
   266 	(cd $(JAVA_SOURCE_DIR)/../decoder ; \
   268 	$(DEFAULT_BUILD_COMMAND:@DIR@=$(JAVA_BUILD_DIR)/decoder)
   267 	 $(BUILD_ENV) $(MAKE) $(MAKEFLAGS) $(DEFAULT_BUILD_MAKEFLAGS))
   269 	$(DEFAULT_BUILD_COMMAND:@DIR@=$(JAVA_BUILD_DIR)/vncviewer)
   268 	(cd $(JAVA_SOURCE_DIR) ; \
       
   269 	 $(BUILD_ENV) $(MAKE) $(MAKEFLAGS) $(DEFAULT_BUILD_MAKEFLAGS))
       
   270 
   270 
   271 java_install: $(JAVA_JAR_FILE)
   271 java_install: $(JAVA_JAR_FILE)
   272 	-rm -rf $(JAVA_INSTALL_DIR)
   272 	-rm -rf $(JAVA_INSTALL_DIR)
   273 	mkdir -p $(JAVA_INSTALL_DIR)
   273 	mkdir -p $(JAVA_INSTALL_DIR)
   274 	(cd $(JAVA_SOURCE_DIR) ; \
   274 	$(DEFAULT_INSTALL_COMMAND:@DIR@=$(JAVA_BUILD_DIR)/vncviewer) \
   275 	 $(BUILD_ENV) $(MAKE) $(MAKEFLAGS) $(DEFAULT_BUILD_MAKEFLAGS) \
   275  		install INSTALL_DIR=$(JAVA_INSTALL_DIR)
   276 		install INSTALL_DIR=$(JAVA_INSTALL_DIR))
   276 	$(INSTALL_SCRIPT) -m 0444 $(JAVA_SOURCE_DIR)/vncviewer/README \
   277 	$(INSTALL_SCRIPT) -m 0444 $(JAVA_SOURCE_DIR)/README \
   277 		$(JAVA_SOURCE_DIR)/vncviewer/LICENCE.TXT \
   278 		$(JAVA_SOURCE_DIR)/LICENCE.TXT \
       
   279 		$(JAVA_INSTALL_DIR)
   278 		$(JAVA_INSTALL_DIR)
   280 	chmod a+x $(JAVA_INSTALL_DIR)/VncViewer.jar
   279 	chmod a+x $(JAVA_INSTALL_DIR)/VncViewer.jar
   281 	rm -f $(JAVA_INSTALL_DIR)/*.class
   280 	rm -f $(JAVA_INSTALL_DIR)/*.class
   282 
   281 
   283 # Metadata for vncviewer package
   282 # Metadata for vncviewer package