Skip to content
Commits on Source (3)
Makefile\.in
aclocal\.m4
autom4te\.cache
build
configure
install-sh
missing
config\.guess
config\.sub
netx/net/sourceforge/jnlp/resources/AUTHORS\.html
netx/net/sourceforge/jnlp/resources/COPYING\.html
netx/net/sourceforge/jnlp/resources/ChangeLog\.html
netx/net/sourceforge/jnlp/resources/NEWS\.html
netx-dist-tests-whitelist
rust-launcher/target
rust-launcher/Cargo.lock
rust-launcher/.idea
This diff is collapsed.
#Fri Dec 03 14:29:50 EST 2010
eclipse.preferences.version=1
formatter_profile=_IcedTea Web
formatter_settings_version=11
This diff is collapsed.
***************************************
** LGPLv2+ and GPLv2 with exceptions **
***************************************
Details:
All newest files, unless claiming differently and all files inherited from GNU Classpath (mostly base of plugin) are GPL+Exceptions
NetX code is GPL and LGPL only.
if WINDOWS
export CLASSPATH_SEPARATOR = ;
export ICON = javaws.ico
else
export CLASSPATH_SEPARATOR = :
export ICON = javaws.png
endif
# Functions to compose path/classpath
......@@ -52,8 +54,9 @@ else
DESKTOP_SUFFIX=.sh
endif
# javaws is program name, JAVAWS is used executable name.
# ITW 1.7 always do javaws and javaws.sh
# javaws is program name, JAVAWS is used executable name. in 99.9% those are equals.
# in unsupported case (no rust, and enforced shell launchers), it will become javaws.sh.
# similar case is for other two binaries.
JAVAWS=$(javaws)$(DESKTOP_SUFFIX)
ITWEB_SETTINGS=$(itweb_settings)$(DESKTOP_SUFFIX)
POLICYEDITOR=$(policyeditor)$(DESKTOP_SUFFIX)
......@@ -172,7 +175,7 @@ if ENABLE_PLUGINJAR
JSOBJECT_JAR=$(datadir)/$(PACKAGE_NAME)/jsobject.jar
endif
NETX_JAR=$(datadir)/$(PACKAGE_NAME)/netx.jar
NETX_JAR=$(datadir)/$(PACKAGE_NAME)/javaws.jar
SPLASH_PNG=$(datadir)/$(PACKAGE_NAME)/javaws_splash.png
MODULARJDK_ARGS_LOCATION=$(DESTDIR)$(MODULARJDK_ARGS_DIR)/$(MODULARJDK_ARGS_FILE)
......@@ -309,8 +312,8 @@ endif
export PLUGIN_VERSION = IcedTea-Web $(FULL_VERSION)
export EXTRA_DIST = $(MODULARJDK_ARGS_FILE) $(top_srcdir)/netx $(top_srcdir)/plugin javaws.png $(DESKTOP_IN_FILES) $(top_srcdir)/completion \
launcher $(top_srcdir)/tests html-gen.sh NEW_LINE_IFS $(top_srcdir)/metadata.in $(top_srcdir)/win-installer
export EXTRA_DIST = $(MODULARJDK_ARGS_FILE) $(top_srcdir)/netx $(top_srcdir)/plugin ${ICON} $(DESKTOP_IN_FILES) $(top_srcdir)/completion \
shell-launcher rust-launcher $(top_srcdir)/tests html-gen.sh NEW_LINE_IFS $(top_srcdir)/metadata.in $(top_srcdir)/win-installer
# reproducers `D`shortcuts
export DTEST_SERVER=-Dtest.server.dir=$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)
......@@ -390,7 +393,7 @@ if ENABLE_PLUGINJAR
endif
${INSTALL_DATA} $(NETX_DIR)/lib/classes.jar $(DESTDIR)$(NETX_JAR)
${INSTALL_DATA} $(NETX_SRCDIR)/javaws_splash.png $(DESTDIR)$(SPLASH_PNG)
${INSTALL_DATA} $(TOP_SRC_DIR)/javaws.png $(ICONS_DEST_DIR)/
${INSTALL_DATA} $(TOP_SRC_DIR)/${ICON} $(ICONS_DEST_DIR)/
mkdir -p $(DESTDIR)$(MODULARJDK_ARGS_DIR)
cp launcher.build/$(MODULARJDK_ARGS_FILE) $(MODULARJDK_ARGS_LOCATION)
if ENABLE_NATIVE_LAUNCHERS
......@@ -506,12 +509,16 @@ $(WIN_INSTALLER_DIR)/itw-installer.json: clean-win-installer
mkdir $(WIN_INSTALLER_DIR)
sed \
-e "s|../win-installer|$(WIN_INSTALLER_SRC_DIR)|g" \
-e "s|[@]MAJOR_VERSION[@]|$(MAJOR_VERSION)|g" \
-e "s|[@]MINOR_VERSION[@]|$(MINOR_VERSION)|g" \
-e "s|[@]MICRO_VERSION[@]|$(MICRO_VERSION)|g" \
-e s/[@]PACKAGE_VERSION[@]/$(PACKAGE_VERSION)/g $(WIN_INSTALLER_SRC_DIR)/installer.json.in > $@
win-installer: win-only-image $(WIN_INSTALLER_DIR)/itw-installer.json
"$(JAVA)" -jar "$(WIXGEN_JAR)" "$(DESTDIR)$(prefix)" -c $(WIN_INSTALLER_DIR)/itw-installer.json -o $(WIN_INSTALLER_DIR)/itw-installer.wxs
cd $(WIN_INSTALLER_DIR) && "$(WIX_TOOLSET_DIR)"/candle.exe /nologo itw-installer.wxs
cd $(WIN_INSTALLER_DIR) && "$(WIX_TOOLSET_DIR)"/light.exe /nologo -ext WixUIExtension itw-installer.wixobj
cd $(WIN_INSTALLER_DIR) && "$(WIX_TOOLSET_DIR)"/light.exe /nologo -sval -ext WixUIExtension itw-installer.wixobj
cd $(WIN_INSTALLER_DIR) && mv itw-installer.msi $(distdir).msi
endif
# note that this is called only from windows specific target (hidden otherwise)
......@@ -557,7 +564,7 @@ uninstall-local: uninstall-linux-only
rm -f $(DESTDIR)$(JSOBJECT_JAR)
rm -f $(DESTDIR)$(NETX_JAR)
rm -r $(DESTDIR)$(SPLASH_PNG)
rm -r $(ICONS_DEST_DIR)/javaws.png
rm -r $(ICONS_DEST_DIR)/${ICON}
rm -rf $(DESTDIR)$(htmldir)
if WINDOWS_OR_INCLUDE_BATS
rm -rf $(WIN_ALL_DEPS)
......@@ -886,7 +893,7 @@ stamps/netx-html-gen.stamp:
mkdir -p html-gen; \
cp AUTHORS NEWS COPYING ChangeLog html-gen/; \
export HTML_GEN_DEBUG=true; \
${SHELL} html-gen.sh 70; \
${SHELL} html-gen.sh 140; \
unset HTML_GEN_DEBUG)
${INSTALL_DATA} $(NETX_SRCDIR)/../html-gen/*.html $(NETX_RESOURCE_DIR)
rm -r $(NETX_SRCDIR)/../html-gen/
......@@ -944,22 +951,121 @@ launcher.build/$(MODULARJDK_ARGS_FILE): $(srcdir)/$(MODULARJDK_ARGS_FILE)
cp $(srcdir)/$(MODULARJDK_ARGS_FILE) launcher.build/$(MODULARJDK_ARGS_FILE)
if ENABLE_NATIVE_LAUNCHERS
# todo, handling of suffixes
# there is curently harecoded sh, so it can somehow basically work
# see the DESKTOP_SUFFIX for final tuning
launcher.build/$(javaws) launcher.build/$(itweb_settings) launcher.build/$(policyeditor): rust-launcher/src/main.rs rust-launcher/Cargo.toml
export ITW_TMP_REPLACEMENT=$(TESTS_DIR)/rust_tests_tmp ; \
mkdir -p $$ITW_TMP_REPLACEMENT; \
filename=`basename $@` ; \
type=$${filename%.*} ; \
srcs=$(TOP_SRC_DIR)/rust-launcher ; \
outs=$(TOP_BUILD_DIR)/launcher.in.$$type ; \
mkdir -p launcher.build ; \
cp -r $$srcs $$outs ; \
pushd $$outs ; \
export JAVA=$(JAVA) ; \
export JRE=$(SYSTEM_JRE_DIR) ; \
export SPLASH_PNG=$(SPLASH_PNG) ; \
export ITW_LIBS=$(ITW_LIBS) ; \
export PLUGIN_JAR=$(PLUGIN_JAR) ; \
export NETX_JAR=$(NETX_JAR) ; \
export JSOBJECT_JAR=$(JSOBJECT_JAR) ; \
export TAGSOUP_JAR=$(TAGSOUP_JAR) ; \
export RHINO_JAR=$(RHINO_JAR) ; \
export MSLINKS_JAR=$(MSLINKS_JAR) ; \
export MODULARJDK_ARGS_LOCATION=$(MODULARJDK_ARGS_LOCATION) ; \
unset MAIN_CLASS ; \
unset BIN_LOCATION ; \
unset PROGRAM_NAME ; \
if [ $$filename = $(javaws) ] ; then \
export MAIN_CLASS=net.sourceforge.jnlp.runtime.Boot ; \
export BIN_LOCATION=$(bindir)/$(javaws) ; \
export PROGRAM_NAME=$(javaws) ; \
fi ; \
if [ $$filename = $(itweb_settings) ] ; then \
export MAIN_CLASS=net.sourceforge.jnlp.controlpanel.CommandLine ; \
export BIN_LOCATION=$(bindir)/$(itweb_settings) ; \
export PROGRAM_NAME=$(itweb_settings) ; \
fi ; \
if [ $$filename = $(policyeditor) ] ; then \
export MAIN_CLASS=net.sourceforge.jnlp.security.policyeditor.PolicyEditor ; \
export BIN_LOCATION=$(bindir)/$(policyeditor) ; \
export PROGRAM_NAME=$(policyeditor) ; \
fi ; \
$(CARGO) test ; \
r=$$? ; \
$(CARGO) build --release ; \
popd ;\
cp -v $$outs/target/release/launcher $@ ; \
if [ $$r -ne 0 ] ; then \
mv $@ $@.broken ; \
fi; \
exit $$r
# https://github.com/SimonKagstrom/kcov/
# build is not part of upstream, declaring
rust-code-coverage:
kcov="none" ; \
if [ -f $(KCOV)/kcov ] ; then \
kcov=$(KCOV)/kcov ; \
elif [ -f $(KCOV)/bin/kcov ] ; then \
kcov=$(KCOV)/bin/kcov ; \
elif [ -f $(KCOV)/build/kcov ] ; then \
kcov=$(KCOV)/build/kcov ; \
elif [ -f $(KCOV)/build/src/kcov ] ; then \
kcov=$(KCOV)/build/src/kcov ; \
else \
mkdir $(KCOV)/build ; \
pushd $(KCOV)/build ; \
cmake .. ; \
make ; \
popd ; \
kcov=$(KCOV)/build/src/kcov ; \
fi ; \
export ITW_TMP_REPLACEMENT=$(TESTS_DIR)/rust_tests_tmp ; \
mkdir -p $$ITW_TMP_REPLACEMENT; \
srcs=$(TOP_SRC_DIR)/rust-launcher ; \
outs=$(TOP_BUILD_DIR)/launcher.in.codecoverage ; \
rm -rvf $$outs ; \
cp -r $$srcs $$outs ; \
pushd $$outs ; \
export JAVA=$(JAVA) ; \
export JRE=$(SYSTEM_JRE_DIR) ; \
export SPLASH_PNG=$(SPLASH_PNG) ; \
export ITW_LIBS=$(ITW_LIBS) ; \
export PLUGIN_JAR=$(PLUGIN_JAR) ; \
export NETX_JAR=$(NETX_JAR) ; \
export JSOBJECT_JAR=$(JSOBJECT_JAR) ; \
export TAGSOUP_JAR=$(TAGSOUP_JAR) ; \
export RHINO_JAR=$(RHINO_JAR) ; \
export MODULARJDK_ARGS_LOCATION=$(MODULARJDK_ARGS_LOCATION) ; \
export MAIN_CLASS=net.sourceforge.jnlp.runtime.Boot ; \
export BIN_LOCATION=$(bindir)/none ; \
export PROGRAM_NAME=test ; \
$(CARGO) test --no-run ; \
popd ; \
rm -fv $(TOP_BUILD_DIR)/launcher.in.codecoverage/target/debug/launcher-*.d ; \
$$kcov $$outs $(TOP_BUILD_DIR)/launcher.in.codecoverage/target/debug/launcher-*
endif
if ENABLE_SHELL_LAUNCHERS
launcher.build/$(javaws).sh: launcher/launchers.sh.in
launcher.build/$(javaws).sh: shell-launcher/launchers.sh.in
mkdir -p launcher.build
MAIN_CLASS=net.sourceforge.jnlp.runtime.Boot ;\
BIN_LOCATION=$(bindir)/$(javaws).sh ;\
PROGRAM_NAME=$(javaws) ;\
$(edit_launcher_script) < $< > $@
launcher.build/$(itweb_settings).sh: launcher/launchers.sh.in
launcher.build/$(itweb_settings).sh: shell-launcher/launchers.sh.in
mkdir -p launcher.build
MAIN_CLASS=net.sourceforge.jnlp.controlpanel.CommandLine ;\
BIN_LOCATION=$(bindir)/$(itweb_settings).sh ;\
PROGRAM_NAME=$(itweb_settings) ;\
$(edit_launcher_script) < $< > $@
launcher.build/$(policyeditor).sh: launcher/launchers.sh.in
launcher.build/$(policyeditor).sh: shell-launcher/launchers.sh.in
mkdir -p launcher.build
MAIN_CLASS=net.sourceforge.jnlp.security.policyeditor.PolicyEditor ;\
BIN_LOCATION=$(bindir)/$(policyeditor).sh ;\
......@@ -968,7 +1074,7 @@ launcher.build/$(policyeditor).sh: launcher/launchers.sh.in
if WINDOWS_OR_INCLUDE_BATS
# TODO get rid of this copypaste
launcher.build/$(javaws).bat: launcher/launchers.bat.in
launcher.build/$(javaws).bat: shell-launcher/launchers.bat.in
mkdir -p launcher.build
MAIN_CLASS=net.sourceforge.jnlp.runtime.Boot ;\
BIN_LOCATION=$(bindir)/$(javaws) ;\
......@@ -976,7 +1082,7 @@ launcher.build/$(javaws).bat: launcher/launchers.bat.in
$(edit_launcher_script) $(fix_CRLF) < $< > $@
# TODO get rid of this copypaste
launcher.build/$(itweb_settings).bat: launcher/launchers.bat.in
launcher.build/$(itweb_settings).bat: shell-launcher/launchers.bat.in
mkdir -p launcher.build
MAIN_CLASS=net.sourceforge.jnlp.controlpanel.CommandLine ;\
BIN_LOCATION=$(bindir)/$(itweb_settings) ;\
......@@ -984,7 +1090,7 @@ launcher.build/$(itweb_settings).bat: launcher/launchers.bat.in
$(edit_launcher_script) $(fix_CRLF) < $< > $@
# TODO get rid of this copypaste
launcher.build/$(policyeditor).bat: launcher/launchers.bat.in
launcher.build/$(policyeditor).bat: shell-launcher/launchers.bat.in
mkdir -p launcher.build
MAIN_CLASS=net.sourceforge.jnlp.security.policyeditor.PolicyEditor ;\
BIN_LOCATION=$(bindir)/$(policyeditor) ;\
......@@ -1000,6 +1106,7 @@ if ENABLE_NATIVE_LAUNCHERS
rm -f launcher.build/$(itweb_settings)
rm -f launcher.build/$(policyeditor)
rm -rf launcher.in*
rm -rf $(TESTS_DIR)/rust_tests_tmp
endif
if ENABLE_SHELL_LAUNCHERS
rm -f launcher.build/$(javaws).sh
......
This diff is collapsed.
......@@ -8,7 +8,21 @@ GX - http://bugs.gentoo.org/show_bug.cgi?id=X
CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
New in release 1.7.2 (2019-03-11):
New in release 1.8.2 (2019-07-15):
* fix(JNLPFile): location/sourceLocation confusion
* Fix hang in windows when javaws is launched outside the console
* support handling of white space in PolicyURI when on file system
* fix(ManifestAttributesChecker): jars must be relative to codebase
* Added embedded mode
* Update JNLPPolicy.java
* If streams are disabled, and console enabled, silent also client application
New in release 1.8.1 (2019-05-21):
* backport deadlock fix from #219
* handle jnlp filename with space for shortcuts (#180)
* use ico-file instead of png-file as itw-icon and use it as default icon
New in release 1.8 (2019-03-12):
* added support for javafx-desc and so allwong run of pure-javafx only applications
* --nosecurity enhanced for possibility to skip invalid signatures
* enhanced to allow resources to be read also from j2se/java element (OmegaT)
......@@ -17,13 +31,9 @@ New in release 1.7.2 (2019-03-11):
* Added support for windows desktop shortcuts via https://github.com/DmitriiShamrikov/mslinks
* cache can now be operated by groups, list by -Xcacheids (details via -verbose, can filter by regex), Xclearcache now can clear only selected id. There is also gui to operate cache via id in itweb-settings now.
* desktop shortcut name get shortened to title or file if title is missing.
* shared native launchers
* scripted launchers rework: Windows bat launchers rewritten to be feature complete, Linux shell launchers made portable, build enhanced to produce platform independent image
New in release 1.7.1 (2017-12-15):
* better work with authors file
* better work with jdk9
* Added possibility to turn off https preference via deployment properties
New in release 1.7 (2017-07-19):
* PR3366 - bash completion file was split to three, and is setup-able by bashcompdir environment variable
* added experimental support for windows
......
......@@ -1072,6 +1072,13 @@ AC_DEFUN_ONCE([IT_SET_VERSION],
FULL_VERSION="${PACKAGE_VERSION}${ICEDTEA_REV}${ICEDTEA_PKG}"
AC_MSG_RESULT([${FULL_VERSION}])
AC_SUBST([FULL_VERSION])
MAJOR_VERSION=`echo $PACKAGE_VERSION | sed 's/^\([[0-9]][[0-9]]*\)[[.]].*$/\1/g'`
MINOR_VERSION=`echo $PACKAGE_VERSION | sed 's/^[[^.]]*[[.]]\([[0-9]][[0-9]]*\).*$/\1/g'`
MICRO_VERSION=`echo $PACKAGE_VERSION | sed 's/^[[^.]]*[[.]][[^.]]*[[.]]\([[0-9]][[0-9]]*\).*$/\1/g'`
AC_SUBST([MAJOR_VERSION])
AC_SUBST([MINOR_VERSION])
AC_SUBST([MICRO_VERSION])
])
dnl Allows you to configure (enable/disable/set path to) the browser
......@@ -1165,6 +1172,27 @@ AC_DEFUN_ONCE([IT_CHECK_FOR_WIX],
fi
])
AC_DEFUN([IT_CHECK_WITH_KCOV],
[
AC_MSG_CHECKING([whether enable rust code coverage])
AC_ARG_WITH([kcov],
[AS_HELP_STRING(--with-kcov,location of kcov directory)],
[
KCOV="${withval}"
],
[
KCOV="no"
])
AC_MSG_RESULT([${KCOV}])
if ! test "x${KCOV}" = "xno" ; then
if ! test -d "${KCOV}" ; then
AC_MSG_ERROR("kcov schould point to direcotry or - default - no")
fi
fi
AC_SUBST([KCOV])
])
AC_DEFUN([IT_CHECK_MODULARJDK_ARGS],
[
AC_MSG_CHECKING([where to place file with modular switches])
......
This diff is collapsed.
#!/bin/sh
# Test for autoconf commands.
# Test for autoconf.
HAVE_AUTOCONF=false
for AUTOCONF in autoconf autoconf259 autoconf2.59; do
if ${AUTOCONF} --version > /dev/null 2>&1; then
AUTOCONF_VERSION=`${AUTOCONF} --version | head -1 | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
# echo ${AUTOCONF_VERSION}
case ${AUTOCONF_VERSION} in
2.59* | 2.6[0-9]* )
HAVE_AUTOCONF=true
break;
;;
esac
fi
done
# Test for autoheader.
HAVE_AUTOHEADER=false
for AUTOHEADER in autoheader autoheader259 autoheader2.59; do
if ${AUTOHEADER} --version > /dev/null 2>&1; then
AUTOHEADER_VERSION=`${AUTOHEADER} --version | head -1 | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
# echo ${AUTOHEADER_VERSION}
case ${AUTOHEADER_VERSION} in
2.59* | 2.6[0-9]* )
HAVE_AUTOHEADER=true
break;
;;
esac
fi
done
# Test for autom4te.
HAVE_AUTOM4TE=false
for AUTOM4TE in autom4te autom4te259 autom4te2.59; do
if ${AUTOM4TE} --version > /dev/null 2>&1; then
AUTOM4TE_VERSION=`${AUTOM4TE} --version | head -1 | sed 's/^[^ ]* [^0-9]*\([0-9.][0-9.]*\).*/\1/'`
# echo ${AUTOM4TE_VERSION}
case ${AUTOM4TE_VERSION} in
2.59* | 2.6[0-9]* )
HAVE_AUTOM4TE=true
break;
;;
esac
fi
done
# Test for autoreconf.
HAVE_AUTORECONF=false
for AUTORECONF in autoreconf autoreconf2.59; do
if ${AUTORECONF} --version > /dev/null 2>&1; then
AUTORECONF_VERSION=`${AUTORECONF} --version | head -1 | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
# echo ${AUTORECONF_VERSION}
case ${AUTORECONF_VERSION} in
2.59* | 2.6[0-9]* )
HAVE_AUTORECONF=true
break;
;;
esac
fi
done
if test ${HAVE_AUTOCONF} = false; then
echo "No proper autoconf was found."
echo "You must have autoconf 2.59 or later installed."
exit 1
fi
if test ${HAVE_AUTOHEADER} = false; then
echo "No proper autoheader was found."
echo "You must have autoconf 2.59 or later installed."
exit 1
fi
if test ${HAVE_AUTOM4TE} = false; then
echo "No proper autom4te was found."
echo "You must have autom4te 2.59 or later installed."
exit 1
fi
if test ${HAVE_AUTORECONF} = false; then
echo "No proper autoreconf was found."
echo "You must have autoconf 2.59 or later installed."
exit 1
fi
# Test for automake commands.
# Test for aclocal.
HAVE_ACLOCAL=false
for ACLOCAL in aclocal aclocal-1.10; do
if ${ACLOCAL} --version > /dev/null 2>&1; then
ACLOCAL_VERSION=`${ACLOCAL} --version | head -1 | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
# echo ${ACLOCAL_VERSION}
case ${ACLOCAL_VERSION} in
1.9.[6-9] | 1.1[0-9]* )
HAVE_ACLOCAL=true
break;
;;
esac
fi
done
# Test for automake.
HAVE_AUTOMAKE=false
for AUTOMAKE in automake automake-1.10; do
if ${AUTOMAKE} --version > /dev/null 2>&1; then
AUTOMAKE_VERSION=`${AUTOMAKE} --version | head -1 | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
# echo ${AUTOMAKE_VERSION}
case ${AUTOMAKE_VERSION} in
1.9.[6-9] | 1.1[0-9]* )
HAVE_AUTOMAKE=true
break;
;;
esac
fi
done
if test ${HAVE_ACLOCAL} = false; then
echo "No proper aclocal was found."
echo "You must have automake 1.9.6 or later installed."
exit 1
fi
if test ${HAVE_AUTOMAKE} = false; then
echo "No proper automake was found."
echo "You must have automake 1.9.6 or later installed."
exit 1
fi
export ACLOCAL AUTOCONF AUTOHEADER AUTOM4TE AUTOMAKE
${AUTORECONF} --force --install
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
nl='
'
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent tools from complaining about whitespace usage.
IFS=" "" $nl"
file_conv=
# func_file_conv build_file lazy
# Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts. If the determined conversion
# type is listed in (the comma separated) LAZY, no conversion will
# take place.
func_file_conv ()
{
file=$1
case $file in
/ | /[!/]*) # absolute file, and not a UNC file
if test -z "$file_conv"; then
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
file_conv=mingw
;;
CYGWIN*)
file_conv=cygwin
;;
*)
file_conv=wine
;;
esac
fi
case $file_conv/,$2, in
*,$file_conv,*)
;;
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
file=`winepath -w "$file" || echo "$file"`
;;
esac
;;
esac
}
# func_cl_dashL linkdir
# Make cl look for libraries in LINKDIR
func_cl_dashL ()
{
func_file_conv "$1"
if test -z "$lib_path"; then
lib_path=$file
else
lib_path="$lib_path;$file"
fi
linker_opts="$linker_opts -LIBPATH:$file"
}
# func_cl_dashl library
# Do a library search-path lookup for cl
func_cl_dashl ()
{
lib=$1
found=no
save_IFS=$IFS
IFS=';'
for dir in $lib_path $LIB
do
IFS=$save_IFS
if $shared && test -f "$dir/$lib.dll.lib"; then
found=yes
lib=$dir/$lib.dll.lib
break
fi
if test -f "$dir/$lib.lib"; then
found=yes
lib=$dir/$lib.lib
break
fi
if test -f "$dir/lib$lib.a"; then
found=yes
lib=$dir/lib$lib.a
break
fi
done
IFS=$save_IFS
if test "$found" != yes; then
lib=$lib.lib
fi
}
# func_cl_wrapper cl arg...
# Adjust compile command to suit cl
func_cl_wrapper ()
{
# Assume a capable shell
lib_path=
shared=:
linker_opts=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
eat=1
case $2 in
*.o | *.[oO][bB][jJ])
func_file_conv "$2"
set x "$@" -Fo"$file"
shift
;;
*)
func_file_conv "$2"
set x "$@" -Fe"$file"
shift
;;
esac
;;
-I)
eat=1
func_file_conv "$2" mingw
set x "$@" -I"$file"
shift
;;
-I*)
func_file_conv "${1#-I}" mingw
set x "$@" -I"$file"
shift
;;
-l)
eat=1
func_cl_dashl "$2"
set x "$@" "$lib"
shift
;;
-l*)
func_cl_dashl "${1#-l}"
set x "$@" "$lib"
shift
;;
-L)
eat=1
func_cl_dashL "$2"
;;
-L*)
func_cl_dashL "${1#-L}"
;;
-static)
shared=false
;;
-Wl,*)
arg=${1#-Wl,}
save_ifs="$IFS"; IFS=','
for flag in $arg; do
IFS="$save_ifs"
linker_opts="$linker_opts $flag"
done
IFS="$save_ifs"
;;
-Xlinker)
eat=1
linker_opts="$linker_opts $2"
;;
-*)
set x "$@" "$1"
shift
;;
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
func_file_conv "$1"
set x "$@" -Tp"$file"
shift
;;
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
func_file_conv "$1" mingw
set x "$@" "$file"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -n "$linker_opts"; then
linker_opts="-link$linker_opts"
fi
exec "$@" $linker_opts
exit 1
}
eat=
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand '-c -o'.
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file 'INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
ofile=
cfile=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
# So we strip '-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no '-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# '.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
AC_INIT([icedtea-web],[1.7.2],[distro-pkg-dev@openjdk.java.net], [icedtea-web], [http://icedtea.classpath.org/wiki/IcedTea-Web])
AC_INIT([icedtea-web],[1.8.2],[distro-pkg-dev@openjdk.java.net], [icedtea-web], [http://icedtea.classpath.org/wiki/IcedTea-Web])
AM_INIT_AUTOMAKE([1.9 tar-pax foreign])
AC_CONFIG_FILES([Makefile netx.manifest])
AM_MAINTAINER_MODE([enable])
......@@ -41,10 +41,32 @@ fi
IT_CHECK_MODULARJDK_ARGS
#shell launchers are only opinion for 1.7
AM_CONDITIONAL([ENABLE_SHELL_LAUNCHERS], [true])
#native launchers do not exists in 1.7
AM_CONDITIONAL([ENABLE_NATIVE_LAUNCHERS], [false])
AC_MSG_CHECKING([whether build legacy shell launchers])
AC_ARG_ENABLE([shell-launchers],
[AS_HELP_STRING([--enable-shell-launchers],
[Enable build of legacy shell launchers])],
[ENABLE_SHELL_LAUNCHERS="${enableval}"], [ENABLE_SHELL_LAUNCHERS='no'])
AM_CONDITIONAL([ENABLE_SHELL_LAUNCHERS], [test x$ENABLE_SHELL_LAUNCHERS = xyes])
AC_MSG_RESULT(${ENABLE_SHELL_LAUNCHERS})
AC_PATH_PROG([RUSTC], [rustc],,)
if test x"$RUSTC" = x ; then
if test x${ENABLE_SHELL_LAUNCHERS} = xno ; then
AC_MSG_ERROR([rust is used to compile launchers. No go])
else
echo "rust is used to compile launchers, is missing but you have enable-shell-launchers as yes, continuing with UNMAINTAINED shell launchers only"
fi
else
AC_PATH_PROG([CARGO], [cargo],,)
if test x"$CARGO" = x ; then
if test x${ENABLE_SHELL_LAUNCHERS} = xno ; then
AC_MSG_ERROR([cargo is used to call rustc for launchers. No go])
else
echo "cargo is used to manage launchers sources, is missing but you have enable-shell-launchers as yes, continuing with UNMAINTAINED shell launchers only"
fi
fi
fi
AM_CONDITIONAL([ENABLE_NATIVE_LAUNCHERS], [test ! x"$RUSTC" = x -a ! x"$CARGO" = x])
build_linux=no
build_windows=no
......@@ -71,6 +93,28 @@ AC_ARG_ENABLE([bats-on-linux],
AM_CONDITIONAL([WINDOWS_OR_INCLUDE_BATS], [test "x$WINDOWS_OR_INCLUDE_BATS" = "xyes" -o "$build_windows" = "yes" ])
AC_MSG_RESULT(${WINDOWS_OR_INCLUDE_BATS})
IT_CHECK_WITH_KCOV
AC_MSG_CHECKING([how to search for libraries in native launchers])
AC_ARG_WITH([itw-libs],
[AS_HELP_STRING([--with-itw-libs],
[set way of searching system for jar depndencies - BUNDLED, for portable build (in application space); DISTRIBUTION, for linux (in installed path); BOTH, for both usages (should be for testing only])], [ITW_LIBS="${withval}"], [ITW_LIBS='none'])
if test "x$build_windows" = xyes ; then
if test x"$ITW_LIBS" = xnone -o x"$ITW_LIBS" = x; then
ITW_LIBS="BUNDLED"
echo -n "On Windows, presetting missing --with-itw-libs ITW_LIBS to $ITW_LIBS. "
echo -n "On Windows, DISTRIBUTION nor BOTH do not have much sense... "
fi
fi
AC_MSG_RESULT(${ITW_LIBS})
AC_SUBST(ITW_LIBS)
if test x"$ITW_LIBS" = xnone -o x"$ITW_LIBS" = x; then
AC_MSG_ERROR([missing --with-itw-libs; mandatory on linux. Use BUNDLED, DISTRIBUTION or BOTH. use BOTH with care. ])
fi
if test ! "$ITW_LIBS" = BUNDLED -a ! "$ITW_LIBS" = DISTRIBUTION -a ! "$ITW_LIBS" = EMBEDDED; then
AC_MSG_ERROR([incorrect --with-itw-libs; mandatory are BUNDLED, DISTRIBUTION or EMBEDDED ])
fi
IT_CHECK_WITH_GCJ
FIND_TOOL([ZIP], [zip])
FIND_JAVAC
......
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2018-03-11.20; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# 'make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
tab=' '
nl='
'
IFS=" $tab$nl"
# Set DOITPROG to "echo" to test this script.
doit=${DOITPROG-}
doit_exec=${doit:-exec}
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
chgrpprog=${CHGRPPROG-chgrp}
chmodprog=${CHMODPROG-chmod}
chownprog=${CHOWNPROG-chown}
cmpprog=${CMPPROG-cmp}
cpprog=${CPPROG-cp}
mkdirprog=${MKDIRPROG-mkdir}
mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
posix_mkdir=
# Desired mode of installed file.
mode=0755
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
mvcmd=$mvprog
rmcmd="$rmprog -f"
stripcmd=
src=
dst=
dir_arg=
dst_arg=
copy_on_change=false
is_target_a_directory=possibly
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
--help display this help and exit.
--version display version info and exit.
-c (ignored)
-C install only if different (preserve the last data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
"
while test $# -ne 0; do
case $1 in
-c) ;;
-C) copy_on_change=true;;
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
case $mode in
*' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
-o) chowncmd="$chownprog $2"
shift;;
-s) stripcmd=$stripprog;;
-t)
is_target_a_directory=always
dst_arg=$2
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
shift;;
-T) is_target_a_directory=never;;
--version) echo "$0 $scriptversion"; exit $?;;
--) shift
break;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
*) break;;
esac
shift
done
# We allow the use of options -d and -T together, by making -d
# take the precedence; this is for compatibility with GNU install.
if test -n "$dir_arg"; then
if test -n "$dst_arg"; then
echo "$0: target directory not allowed when installing a directory." >&2
exit 1
fi
fi
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dst_arg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dst_arg"
shift # fnord
fi
shift # arg
dst_arg=$arg
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
done
fi
if test $# -eq 0; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call 'install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if test -z "$dir_arg"; then
if test $# -gt 1 || test "$is_target_a_directory" = always; then
if test ! -d "$dst_arg"; then
echo "$0: $dst_arg: Is not a directory." >&2
exit 1
fi
fi
fi
if test -z "$dir_arg"; then
do_exit='(exit $ret); exit $ret'
trap "ret=129; $do_exit" 1
trap "ret=130; $do_exit" 2
trap "ret=141; $do_exit" 13
trap "ret=143; $do_exit" 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
case $mode in
# Optimize common cases.
*644) cp_umask=133;;
*755) cp_umask=22;;
*[0-7])
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
fi
for src
do
# Protect names problematic for 'test' and other utilities.
case $src in
-* | [=\(\)!]) src=./$src;;
esac
if test -n "$dir_arg"; then
dst=$src
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dst_arg
# If destination is a directory, append the input filename.
if test -d "$dst"; then
if test "$is_target_a_directory" = never; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dstbase=`basename "$src"`
case $dst in
*/) dst=$dst$dstbase;;
*) dst=$dst/$dstbase;;
esac
dstdir_status=0
else
dstdir=`dirname "$dst"`
test -d "$dstdir"
dstdir_status=$?
fi
fi
case $dstdir in
*/) dstdirslash=$dstdir;;
*) dstdirslash=$dstdir/;;
esac
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
*[0-7])
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
else
mkdir_mode=
fi
posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
# Note that $RANDOM variable is not portable (e.g. dash); Use it
# here however when possible just to lower collision chance.
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
# Because "mkdir -p" follows existing symlinks and we likely work
# directly in world-writeable /tmp, make sure that the '$tmpdir'
# directory is successfully created first before we actually test
# 'mkdir -p' feature.
if (umask $mkdir_umask &&
$mkdirprog $mkdir_mode "$tmpdir" &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
test_tmpdir="$tmpdir/a"
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
trap '' 0;;
esac;;
esac
if
$posix_mkdir && (
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
/*) prefix='/';;
[-=\(\)!]*) prefix='./';;
*) prefix='';;
esac
oIFS=$IFS
IFS=/
set -f
set fnord $dstdir
shift
set +f
IFS=$oIFS
prefixes=
for d
do
test X"$d" = X && continue
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
if $posix_mkdir; then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
prefix=$prefix/
done
if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
fi
fi
fi
if test -n "$dir_arg"; then
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
# Make a couple of temp file names in the proper directory.
dsttmp=${dstdirslash}_inst.$$_
rmtmp=${dstdirslash}_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
rm -f "$dsttmp"
else
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
test ! -f "$dst" ||
$doit $rmcmd -f "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
trap '' 0
fi
done
# Local variables:
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
echo 1>&2 "Try '$0 --help' for more information"
exit 1
fi
case $1 in
--is-lightweight)
# Used by our autoconf macros to check whether the available missing
# script is modern enough.
exit 0
;;
--run)
# Back-compat with the calling convention used by older automake.
shift
;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
Supported PROGRAM values:
aclocal autoconf autoheader autom4te automake makeinfo
bison yacc flex lex help2man
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
'g' are ignored when checking the name.
Send bug reports to <bug-automake@gnu.org>."
exit $?
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)"
exit $?
;;
-*)
echo 1>&2 "$0: unknown '$1' option"
echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
# Run the given program, remember its exit status.
"$@"; st=$?
# If it succeeded, we are done.
test $st -eq 0 && exit 0
# Also exit now if we it failed (or wasn't found), and '--version' was
# passed; such an option is passed most likely to detect whether the
# program is present and works.
case $2 in --version|--help) exit $st;; esac
# Exit code 63 means version mismatch. This often happens when the user
# tries to use an ancient version of a tool on a file that requires a
# minimum version.
if test $st -eq 63; then
msg="probably too old"
elif test $st -eq 127; then
# Program was missing.
msg="missing on your system"
else
# Program was found and executed, but failed. Give up.
exit $st
fi
perl_URL=https://www.perl.org/
flex_URL=https://github.com/westes/flex
gnu_software_URL=https://www.gnu.org/software
program_details ()
{
case $1 in
aclocal|automake)
echo "The '$1' program is part of the GNU Automake package:"
echo "<$gnu_software_URL/automake>"
echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/autoconf>"
echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>"
;;
autoconf|autom4te|autoheader)
echo "The '$1' program is part of the GNU Autoconf package:"
echo "<$gnu_software_URL/autoconf/>"
echo "It also requires GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>"
;;
esac
}
give_advice ()
{
# Normalize program name to check for.
normalized_program=`echo "$1" | sed '
s/^gnu-//; t
s/^gnu//; t
s/^g//; t'`
printf '%s\n' "'$1' is $msg."
configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
case $normalized_program in
autoconf*)
echo "You should only need it if you modified 'configure.ac',"
echo "or m4 files included by it."
program_details 'autoconf'
;;
autoheader*)
echo "You should only need it if you modified 'acconfig.h' or"
echo "$configure_deps."
program_details 'autoheader'
;;
automake*)
echo "You should only need it if you modified 'Makefile.am' or"
echo "$configure_deps."
program_details 'automake'
;;
aclocal*)
echo "You should only need it if you modified 'acinclude.m4' or"
echo "$configure_deps."
program_details 'aclocal'
;;
autom4te*)
echo "You might have modified some maintainer files that require"
echo "the 'autom4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)
echo "You should only need it if you modified a '.y' file."
echo "You may want to install the GNU Bison package:"
echo "<$gnu_software_URL/bison/>"
;;
lex*|flex*)
echo "You should only need it if you modified a '.l' file."
echo "You may want to install the Fast Lexical Analyzer package:"
echo "<$flex_URL>"
;;
help2man*)
echo "You should only need it if you modified a dependency" \
"of a man page."
echo "You may want to install the GNU Help2man package:"
echo "<$gnu_software_URL/help2man/>"
;;
makeinfo*)
echo "You should only need it if you modified a '.texi' file, or"
echo "any other file indirectly affecting the aspect of the manual."
echo "You might want to install the Texinfo package:"
echo "<$gnu_software_URL/texinfo/>"
echo "The spurious makeinfo call might also be the consequence of"
echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
echo "want to install GNU make:"
echo "<$gnu_software_URL/make/>"
;;
*)
echo "You might have modified some files without having the proper"
echo "tools for further handling them. Check the 'README' file, it"
echo "often tells you about the needed prerequisites for installing"
echo "this package. You may also peek at any GNU archive site, in"
echo "case some other package contains this missing '$1' program."
;;
esac
}
give_advice "$1" | sed -e '1s/^/WARNING: /' \
-e '2,$s/^/ /' >&2
# Propagate the correct exit status (expected to be 127 for a program
# not found, 63 for a program that failed due to version mismatch).
exit $st
# Local variables:
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
......@@ -870,7 +870,7 @@ public class JNLPFile {
specVersion = parser.getSpecVersion();
fileVersion = parser.getFileVersion();
codeBase = parser.getCodeBase();
sourceLocation = parser.getFileLocation() != null ? parser.getFileLocation() : location;
sourceLocation = parser.getFileLocation();
info = parser.getInfo(root);
parser.checkForInformation();
update = parser.getUpdate(root);
......