changeset 1422:7d8419b9aece

Added support for pure windows image and distribute-able windows-bin-dist archive. Fixes expected Note that this patch was not tested in windows, but was designed to not harm linux par * NEWS: mentioned windows support, jdk9 support limited for linux * Makefile.am: (install-exec-local) make of win-deps dirs made -p, to allow re-installing without error. (uninstall-linux-only) new target. Cleans linux-specific stuff. (uninstall-local) now depends on, uninstall-linux-only. Removed code which moved to it. (remove-empty-linux-only-dirs) target to remove various empty directories in dist folder (win-only-image) windows only target. by calling remove-empty-linux-only-dirs and copying bit more stuff, creating clean windows-only image. (win-bin-dist) last new target, compressing pure windows image to redistributable zip.
author Jiri Vanek <jvanek@redhat.com>
date Wed, 10 May 2017 19:23:53 +0200
parents f99978e48a45
children a75145805b3f
files ChangeLog Makefile.am NEWS
diffstat 3 files changed, 66 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed May 10 13:55:26 2017 +0200
+++ b/ChangeLog	Wed May 10 19:23:53 2017 +0200
@@ -1,3 +1,17 @@
+2017-05-10  Jiri Vanek <jvanek@redhat.com>
+
+	Added support for pure windows image and distribute-able windows-bin-dist archive 
+	* NEWS: mentioned windows support, jdk9 support limited for linux
+	* Makefile.am: (install-exec-local) make of win-deps dirs made -p, to allow re-installing
+	without error. (uninstall-linux-only) new target. Cleans linux-specific stuff.
+	(uninstall-local) now depends on, uninstall-linux-only. Removed code which moved to  it.
+	(remove-empty-linux-only-dirs) target to remove various empty directories in dist folder
+	(win-only-image) windows only target. by calling remove-empty-linux-only-dirs and
+	copying bit more stuff, creating clean windows-only image. (win-bin-dist) last new
+	target, compressing pure windows image to redistributable zip.
+	Note that this patch was not tested in windows, but was designed to not harm linux parts.
+	Fixes expected.
+
 2017-05-10  Jiri Vanek <jvanek@redhat.com>
 
 	* AUTHORS: added Ville Skyttä
--- a/Makefile.am	Wed May 10 13:55:26 2017 +0200
+++ b/Makefile.am	Wed May 10 19:23:53 2017 +0200
@@ -352,8 +352,8 @@
 endif
 endif
 if WINDOWS
-	mkdir $(WIN_ALL_DEPS)
-	mkdir $(WIN_RUN_DEPS)
+	mkdir -p $(WIN_ALL_DEPS)
+	mkdir -p $(WIN_RUN_DEPS)
 	JARSVARS=` ( set -o posix ; set ) | sed "s/.*=//"  | grep \\.jar$$ ` ; \
 	JARSMAKE=` cat $(TOP_BUILD_DIR)/printvarsfile | sed  "s/.*=//"  |  grep \\.jar$$ ` ; \
 	for JAR in $$JARSMAKE ; do \
@@ -375,14 +375,45 @@
 endif
 endif
 
+
+win-bin-dist: win-only-image
+	(cd $(DESTDIR)$(prefix)/.. && $(ZIP) -qr $(TOP_BUILD_DIR)/$(distdir).win.bin.zip `basename $(DESTDIR)$(prefix)` );
+
+if WINDOWS
+# strips cygwin and other linux-like blobs. keeping only windows-usefull stuff
+win-only-image: install uninstall-linux-only remove-empty-linux-only-dirs
+	rm -rf $(WIN_ALL_DEPS)
+if ENABLE_DOCS
+	cp -r $(DOCS_DIR)/html $(DESTDIR)$(prefix)/icedtea-web-docs
+endif
+	cp $(NETX_DIR)/lib/src.zip $(DESTDIR)$(prefix)/netx.src.zip
+if ENABLE_PLUGINJAR
+	cp $(TOP_BUILD_DIR)/liveconnect/lib/src.zip $(DESTDIR)$(prefix)/plugin.src.zip
+endif
+endif
+
+# note that this is called only from windows specific target (hidden otherwise)
+remove-empty-linux-only-dirs:
+	echo "*************************************************************************" ; \
+	echo "* If run without prefix or on non-windows machine, may harm your system *" ; \
+	echo "*************************************************************************" ; \
+	MAN_DIRS_TO_CHECK_AND_CLEAN="de/man1 pl/man1 cs/man1 de pl cs man1 " ; \
+	for manDirName in $$MAN_DIRS_TO_CHECK_AND_CLEAN ; do \
+	  dirCandidate=$(DESTDIR)$(mandir)/$$manDirName ; \
+	  if ls -1qA $$dirCandidate | grep -q . ; then echo "$$dirCandidate not empty"; else rmdir -v $$dirCandidate ; fi ; \
+	done
+	dirCandidate=$(DESTDIR)$(mandir)/$$manDirName ; \
+	if ls -1qA $$dirCandidate | grep -q . ; then echo "$$dirCandidate not empty"; else rmdir -v $$dirCandidate ; fi ;
+	DEFAULT_CMPL_DIRS_TO_CHECK_AND_CLEAN="$(BASH_CMPL_DEST_DIR) `dirname $(BASH_CMPL_DEST_DIR)` $$(dirname $$(dirname $(BASH_CMPL_DEST_DIR)))" ; \
+	for cmplDirName in $$DEFAULT_CMPL_DIRS_TO_CHECK_AND_CLEAN ; do \
+	  dirCandidate=$$cmplDirName ; \
+	  if ls -1qA $$dirCandidate | grep -q . ; then echo "$$dirCandidate not empty"; else rmdir -v $$dirCandidate ; fi ; \
+	done
+	dirCandidate=$(DESTDIR)$(libdir)/ ; \
+	if ls -1qA $$dirCandidate | grep -q . ; then echo "$$dirCandidate not empty"; else rmdir -v $$dirCandidate ; fi ;
+
 # all generated manpages must be removed one by one
-uninstall-local:
-	rm -f $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY)
-	rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar
-	rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/jsobject.jar
-	rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar
-	rm -r $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/javaws_splash.png
-	rm -r $(ICONS_DEST_DIR)/javaws.png
+uninstall-linux-only:
 	KNOWN_MANS="icedtea-web.1  icedtea-web-plugin.1  itweb-settings.1  javaws.1  policyeditor.1" ; \
 	KNOWN_DIRS="man1 de/man1 pl/man1 cs/man1" ; \
 	for file in $$KNOWN_MANS ; do \
@@ -390,13 +421,21 @@
 	    rm -f $(DESTDIR)$(mandir)/$$dir/$$file ; \
 	  done ; \
 	done
+	rm -f $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY)
 	rm -f $(DESTDIR)$(bindir)/$(javaws)
 	rm -f $(DESTDIR)$(bindir)/$(itweb_settings)
 	rm -f $(DESTDIR)$(bindir)/$(policyeditor)
-	rm -rf $(DESTDIR)$(htmldir)
 	rm -f $(BASH_CMPL_DEST_DIR)/itweb-settings.bash
 	rm -f $(BASH_CMPL_DEST_DIR)/javaws.bash
-	rm -f $(BASH_CMPL_DEST_DIR)/policyeditor.bas
+	rm -f $(BASH_CMPL_DEST_DIR)/policyeditor.bash
+
+uninstall-local: uninstall-linux-only
+	rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar
+	rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/jsobject.jar
+	rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar
+	rm -r $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/javaws_splash.png
+	rm -r $(ICONS_DEST_DIR)/javaws.png
+	rm -rf $(DESTDIR)$(htmldir)
 if WINDOWS
 	rm -rf $(WIN_ALL_DEPS)
 	rm -rf $(WIN_RUN_DEPS)
--- a/NEWS	Wed May 10 13:55:26 2017 +0200
+++ b/NEWS	Wed May 10 19:23:53 2017 +0200
@@ -10,7 +10,8 @@
 
 New in release 1.7 (2015-XX-XX):
 * PR3366 - bash completion file was split to three, and is setup-able by bashcompdir environment variable
-* added experimental support for java 9
+* added experimental support for windows
+* added experimental support for java 9 (linux only)
 * added experimental support for jnlp protocol (see https://bugs.openjdk.java.net/browse/JDK-8055464)
 * restricted to JDK8 and higher
 * all connection restrictions now consider also port