Skip to content
Commits on Source (5)
......@@ -2,6 +2,17 @@
This is the Changelog for Tomcat Native 1.2.
Changes in 1.2.18
* Fix: 62641: libtool invocations should use --tag=CC. (michaelo)
* Code: Remove support for Netware as there has not been a supported
Netware platform for a number of years. (markt)
* Add: 62748: Add support for TLS 1.3 when built with OpenSSL 1.1.1 or
equivalent. (schultz/markt)
* Add: Expose the API necessary for CLIENT-CERT authentication to be
correctly supported when using Tomcat's JSSE implementation backed by
OpenSSL. (markt)
Changes in 1.2.17
* Fix: 62094: Certificate verification using CRL with Tomcat APR
......
......@@ -18,7 +18,7 @@
# ----- Version Control Flags -----
version.major=1
version.minor=2
version.build=17
version.build=18
version.patch=0
version.suffix=
......
tomcat-native (1.2.18-1) unstable; urgency=medium
* Team upload.
* New upstream release
* Standards-Version updated to 4.2.1
-- Emmanuel Bourg <ebourg@apache.org> Tue, 06 Nov 2018 10:47:37 +0100
tomcat-native (1.2.17-1) unstable; urgency=medium
* Team upload.
......
......@@ -9,7 +9,7 @@ Build-Depends:
dpkg-dev (>= 1.16.1~),
libapr1-dev,
libssl-dev
Standards-Version: 4.1.4
Standards-Version: 4.2.1
Vcs-Git: https://salsa.debian.org/java-team/tomcat-native.git
Vcs-Browser: https://salsa.debian.org/java-team/tomcat-native
Homepage: http://tomcat.apache.org/native-doc/
......
version=3
version=4
opts="repack,compression=xz" \
https://www.apache.org/dist/tomcat/tomcat-connectors/native/([\d\.]+)/source/tomcat-native-([\d\.]+)-src\.tar\.gz debian uupdate
<!DOCTYPE html SYSTEM "about:legacy-compat">
<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="./images/docs-stylesheet.css" rel="stylesheet" type="text/css"><link href="./images/style.css" rel="stylesheet" type="text/css"><title>Apache Tomcat Native Library - Documentation Index</title><meta name="author" content="Jean-Frederic Clere"></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="http://tomcat.apache.org/"><img alt="Tomcat Home" src="./images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="http://www.apache.org/" target="_blank"><img src="./images/asf-feather.png" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>Apache Tomcat Native Library</h1><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2><strong>Links</strong></h2><ul><li><a href="index.html">Docs Home</a></li></ul></div><div><h2><strong>Miscellaneous Documentation</strong></h2><ul><li><a href="miscellaneous/changelog.html">Changelog</a></li></ul></div><div><h2><strong>News</strong></h2><ul><li><a href="news/2017.html">2017</a></li><li><a href="news/2016.html">2016</a></li><li><a href="news/2015.html">2015</a></li><li><a href="news/2014.html">2014</a></li><li><a href="news/2013.html">2013</a></li><li><a href="news/2012.html">2012</a></li><li><a href="news/2011.html">2011</a></li><li><a href="news/2010.html">2010</a></li><li><a href="news/2009.html">2009</a></li><li><a href="news/2008.html">2008</a></li></ul></div></nav></div></div><div id="mainRight"><div id="content"><h2>Documentation Index</h2><h3 id="Introduction">Introduction</h3><div class="text">
<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="./images/docs-stylesheet.css" rel="stylesheet" type="text/css"><link href="./images/style.css" rel="stylesheet" type="text/css"><title>Apache Tomcat Native Library - Documentation Index</title><meta name="author" content="Jean-Frederic Clere"></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="http://tomcat.apache.org/"><img alt="Tomcat Home" src="./images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="http://www.apache.org/" target="_blank"><img src="./images/asf-feather.png" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>Apache Tomcat Native Library</h1><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2><strong>Links</strong></h2><ul><li><a href="index.html">Docs Home</a></li></ul></div><div><h2><strong>Miscellaneous Documentation</strong></h2><ul><li><a href="miscellaneous/changelog.html">Changelog</a></li></ul></div><div><h2><strong>News</strong></h2><ul><li><a href="news/2018.html">2018</a></li><li><a href="news/2017.html">2017</a></li><li><a href="news/2016.html">2016</a></li><li><a href="news/2015.html">2015</a></li><li><a href="news/2014.html">2014</a></li><li><a href="news/2013.html">2013</a></li><li><a href="news/2012.html">2012</a></li><li><a href="news/2011.html">2011</a></li><li><a href="news/2010.html">2010</a></li><li><a href="news/2009.html">2009</a></li><li><a href="news/2008.html">2008</a></li></ul></div></nav></div></div><div id="mainRight"><div id="content"><h2>Documentation Index</h2><h3 id="Introduction">Introduction</h3><div class="text">
<p>
The Apache Tomcat Native Library is an optional component for use with
......@@ -27,10 +27,10 @@
</div><h3 id="Headlines">Headlines</h3><div class="text">
<ul>
<li><a href="news/2017.html#20171120">20 November 2017 - <b>TC-Native-1.2.16
<li><a href="news/2018.html#20180613">13 June 2018 - <b>TC-Native-1.2.17
released</b></a>
<p>The Apache Tomcat team is proud to announce the immediate availability of
Tomcat Native 1.2.16 Stable.</p>
Tomcat Native 1.2.17 Stable.</p>
<p>
The sources and the binaries for selected platforms are available from the
<a href="../download-native.cgi">Download page</a>.
......
......@@ -3,6 +3,25 @@
<p>
This is the Changelog for Tomcat Native 1.2.
</p>
</div><h3 id="Changes_in_1.2.18">Changes in 1.2.18</h3><div class="text">
<ul class="changelog">
<li><img alt="Fix: " class="icon" src="../images/fix.gif">
<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=62641">62641</a>: libtool invocations should use --tag=CC. (michaelo)
</li>
<li><img alt="Code: " class="icon" src="../images/code.gif">
Remove support for Netware as there has not been a supported Netware
platform for a number of years. (markt)
</li>
<li><img alt="Add: " class="icon" src="../images/add.gif">
<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=62748">62748</a>: Add support for TLS 1.3 when built with OpenSSL 1.1.1 or
equivalent. (schultz/markt)
</li>
<li><img alt="Add: " class="icon" src="../images/add.gif">
Expose the API necessary for CLIENT-CERT authentication to be correctly
supported when using Tomcat's JSSE implementation backed by OpenSSL.
(markt)
</li>
</ul>
</div><h3 id="Changes_in_1.2.17">Changes in 1.2.17</h3><div class="text">
<ul class="changelog">
<li><img alt="Fix: " class="icon" src="../images/fix.gif">
......
<!DOCTYPE html SYSTEM "about:legacy-compat">
<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="../images/docs-stylesheet.css" rel="stylesheet" type="text/css"><link href="../images/style.css" rel="stylesheet" type="text/css"><title>The Apache Tomcat Native - News - 2018 News and Status</title></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="http://tomcat.apache.org/"><img alt="Tomcat Home" src="../images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="http://www.apache.org/" target="_blank"><img src="../images/asf-feather.png" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>The Apache Tomcat Native - News</h1><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2><strong>Links</strong></h2><ul><li><a href="../index.html">Docs Home</a></li></ul></div><div><h2><strong>Miscellaneous Documentation</strong></h2><ul><li><a href="../miscellaneous/changelog.html">Changelog</a></li></ul></div><div><h2><strong>News</strong></h2><ul><li><a href="../news/2017.html">2017</a></li><li><a href="../news/2016.html">2016</a></li><li><a href="../news/2015.html">2015</a></li><li><a href="../news/2014.html">2014</a></li><li><a href="../news/2013.html">2013</a></li><li><a href="../news/2012.html">2012</a></li><li><a href="../news/2011.html">2011</a></li><li><a href="../news/2010.html">2010</a></li><li><a href="../news/2009.html">2009</a></li><li><a href="../news/2008.html">2008</a></li></ul></div></nav></div></div><div id="mainRight"><div id="content"><h2>2018 News and Status</h2><h3 id="2018_News_&amp;_Status">2018 News &amp; Status</h3><div class="text">
<div class="subsection"><h4 id="20180613">13 Jun 2018 - TC-Native-1.2.17 released</h4><div class="text">
<p>The Apache Tomcat team is proud to announce the immediate availability of
Tomcat Native 1.2.17. This is a bugfix release that also updates the
dependencies for the Windows binaries and includes Windows binaries built with
OpenSSL 1.0.2o and APR 1.6.3.
</p>
</div></div>
</div></div></div></div></div><footer><div id="footer">
Copyright &copy; 2008-2018, The Apache Software Foundation
</div></footer></div></body></html>
\ No newline at end of file
......@@ -34,9 +34,36 @@ public final class Library {
private Library() throws Exception {
boolean loaded = false;
StringBuilder err = new StringBuilder();
File binLib = new File(System.getProperty("catalina.home"), "bin");
for (int i = 0; i < NAMES.length; i++) {
File library = new File(binLib, System.mapLibraryName(NAMES[i]));
try {
System.load(library.getAbsolutePath());
loaded = true;
} catch (ThreadDeath t) {
throw t;
} catch (VirtualMachineError t) {
// Don't use a Java 7 multiple exception catch so we can keep
// the JNI code identical between Tomcat 6/7/8/9
throw t;
} catch (Throwable t) {
if (library.exists()) {
// File exists but failed to load
throw t;
}
if (i > 0) {
err.append(", ");
}
err.append(t.getMessage());
}
if (loaded) {
break;
}
}
if (!loaded) {
String path = System.getProperty("java.library.path");
String [] paths = path.split(File.pathSeparator);
StringBuilder err = new StringBuilder();
for (int i = 0; i < NAMES.length; i++) {
try {
System.loadLibrary(NAMES[i]);
......@@ -56,7 +83,7 @@ public final class Library {
throw t;
}
}
if (i > 0) {
if (err.length() > 0) {
err.append(", ");
}
err.append(t.getMessage());
......@@ -65,6 +92,7 @@ public final class Library {
break;
}
}
}
if (!loaded) {
StringBuilder names = new StringBuilder();
for (String name : NAMES) {
......@@ -226,4 +254,41 @@ public final class Library {
}
return initialize();
}
/**
* Calls System.load(filename). System.load() associates the
* loaded library with the class loader of the class that called
* the System method. A native library may not be loaded by more
* than one class loader, so calling the System method from a class that
* was loaded by a Webapp class loader will make it impossible for
* other Webapps to load it.
*
* Using this method will load the native library via a shared class
* loader (typically the Common class loader, but may vary in some
* configurations), so that it can be loaded by multiple Webapps.
*
* @param filename - absolute path of the native library
*/
public static void load(String filename){
System.load(filename);
}
/**
* Calls System.loadLibrary(libname). System.loadLibrary() associates the
* loaded library with the class loader of the class that called
* the System method. A native library may not be loaded by more
* than one class loader, so calling the System method from a class that
* was loaded by a Webapp class loader will make it impossible for
* other Webapps to load it.
*
* Using this method will load the native library via a shared class
* loader (typically the Common class loader, but may vary in some
* configurations), so that it can be loaded by multiple Webapps.
*
* @param libname - the name of the native library
*/
public static void loadLibrary(String libname){
System.loadLibrary(libname);
}
}
......@@ -25,7 +25,6 @@ public class OS {
/* OS Enums */
private static final int UNIX = 1;
private static final int NETWARE = 2;
private static final int WIN32 = 3;
private static final int WIN64 = 4;
private static final int LINUX = 5;
......@@ -47,7 +46,13 @@ public class OS {
private static native boolean is(int type);
public static final boolean IS_UNIX = is(UNIX);
public static final boolean IS_NETWARE = is(NETWARE);
/**
* @deprecated Hard-coded to false since there has not been a supported
* Netware platform for many years.
* This will be removed in Tomcat 10 onwards
*/
@Deprecated
public static final boolean IS_NETWARE = false;
public static final boolean IS_WIN32 = is(WIN32);
public static final boolean IS_WIN64 = is(WIN64);
public static final boolean IS_LINUX = is(LINUX);
......
......@@ -139,8 +139,8 @@ public class Procattr {
* Determine if the child should start in its own address space or using the
* current one from its parent
* @param attr The procattr we care about.
* @param addrspace Should the child start in its own address space? Default
* is no on NetWare and yes on other platforms.
* @param addrspace Should the child start in its own address space?
* Default is yes.
* @return the operation status
*/
public static native int addrspaceSet(long attr, int addrspace);
......
......@@ -73,7 +73,18 @@ public final class SSL {
public static final int SSL_PROTOCOL_TLSV1 = (1<<2);
public static final int SSL_PROTOCOL_TLSV1_1 = (1<<3);
public static final int SSL_PROTOCOL_TLSV1_2 = (1<<4);
public static final int SSL_PROTOCOL_ALL = (SSL_PROTOCOL_TLSV1 | SSL_PROTOCOL_TLSV1_1 | SSL_PROTOCOL_TLSV1_2);
public static final int SSL_PROTOCOL_TLSV1_3 = (1<<5);
public static final int SSL_PROTOCOL_ALL;
static {
if (SSL.version() >= 0x1010100f) {
SSL_PROTOCOL_ALL = (SSL_PROTOCOL_TLSV1 | SSL_PROTOCOL_TLSV1_1 | SSL_PROTOCOL_TLSV1_2 |
SSL_PROTOCOL_TLSV1_3);
} else {
SSL_PROTOCOL_ALL = (SSL_PROTOCOL_TLSV1 | SSL_PROTOCOL_TLSV1_1 | SSL_PROTOCOL_TLSV1_2);
}
}
/*
* Define the SSL verify levels
......@@ -554,6 +565,27 @@ public final class SSL {
*/
public static native int renegotiate(long ssl);
/**
* SSL_renegotiate_pending
* @param ssl the SSL instance (SSL *)
* @return the operation status
*/
public static native int renegotiatePending(long ssl);
/**
* SSL_verify_client_post_handshake
* @param ssl the SSL instance (SSL *)
* @return the operation status
*/
public static native int verifyClientPostHandshake(long ssl);
/**
* Is post handshake authentication in progress on this connection?
* @param ssl the SSL instance (SSL *)
* @return the operation status
*/
public static native int getPostHandshakeAuthInProgress(long ssl);
/**
* SSL_in_init.
* @param ssl the SSL instance (SSL *)
......
......@@ -41,6 +41,7 @@ public final class SSLContext {
* {@link SSL#SSL_PROTOCOL_TLSV1}
* {@link SSL#SSL_PROTOCOL_TLSV1_1}
* {@link SSL#SSL_PROTOCOL_TLSV1_2}
* {@link SSL#SSL_PROTOCOL_TLSV1_3}
* {@link SSL#SSL_PROTOCOL_ALL} ( == all TLS versions, no SSL)
* </PRE>
* @param mode SSL mode to use
......
......@@ -57,7 +57,7 @@ ifneq ($(LIBTOOL_OLD),$(LIBTOOL))
LIBTOOL=$(LIBTOOL_OLD)
endif
LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(LT_LDFLAGS) $(COMPILE) -version-info $(TCNATIVE_LIBTOOL_VERSION) $(ALL_LDFLAGS) -o $@
LINK = $(LIBTOOL) $(LTFLAGS) --mode=link --tag=CC $(LT_LDFLAGS) $(COMPILE) -version-info $(TCNATIVE_LIBTOOL_VERSION) $(ALL_LDFLAGS) -o $@
CLEAN_SUBDIRS = test
CLEAN_TARGETS = .make.dirs
......@@ -86,7 +86,7 @@ install: $(TARGET_LIB)
$(LIBTOOL) --mode=install $(INSTALL) -m 755 $(TARGET_LIB) $(DESTDIR)$(libdir)
$(TARGET_LIB): $(OBJECTS)
$(LINK) @lib_target@ @TCNATIVE_LDFLAGS@ @TCNATIVE_LIBS@
$(LINK) @lib_target@ $(TCNATIVE_LDFLAGS) $(TCNATIVE_LIBS)
check: $(TARGET_LIB)
(cd test && $(MAKE) check)
......@@ -19,6 +19,7 @@
# Usage:
# APR_DECLARE_STATIC=1 Use static version of the APR
# ENABLE_OCSP=1 Enable OpenSSL OCSP code
# OPENSSL_NEW_LIBS=1 Use new OpenSSL lib file names
# DEBUG=1 Build DEBUG version of TCN
#
# Originally contributed by Mladen Turk <mturk redhat.com>
......@@ -74,8 +75,12 @@ LFLAGS = $(LFLAGS) $(APR_LIB)
!IF DEFINED(WITH_FIPS)
LFLAGS = $(LFLAGS) libeayfips32.lib libeaycompat32.lib ssleay32.lib /NODEFAULTLIB:LIBCMT
!ELSE
!IF DEFINED(OPENSSL_NEW_LIBS)
LFLAGS = $(LFLAGS) libssl.lib libcrypto.lib crypt32.lib
!ELSE
LFLAGS = $(LFLAGS) libeay32.lib ssleay32.lib
!ENDIF
!ENDIF
CFLAGS = $(CFLAGS) -DZLIB_WINAPI -DNO_IDEA -DNO_RC5 -DNO_MDC2 -DOPENSSL_NO_IDEA \
-DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DHAVE_OPENSSL -DHAVE_SSL_SET_STATE=1
......
......@@ -19,14 +19,14 @@
echo "buildconf: checking installation..."
# any python
python=`build/PrintPath python`
python=${PYTHON-`build/PrintPath python3 python2 python`}
if test -z "$python"; then
echo "buildconf: python not found."
echo " You need python installed"
echo " to build Tomcat Native from SVN."
exit 1
else
py_version=`python -c 'import sys; print sys.version' 2>&1|sed 's/ .*//;q'`
py_version=`$python -c 'import sys; print sys.version' 2>&1|sed 's/ .*//;q'`
echo "buildconf: python version $py_version (ok)"
fi
......
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright 1992-2017 Free Software Foundation, Inc.
# Copyright 1992-2018 Free Software Foundation, Inc.
timestamp='2017-09-16'
timestamp='2018-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
......@@ -39,7 +39,7 @@ Usage: $0 [OPTION]
Output the configuration name of the system \`$me' is run on.
Operation modes:
Options:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
......@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
Copyright 1992-2017 Free Software Foundation, Inc.
Copyright 1992-2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
......@@ -244,6 +244,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
exit ;;
*:MidnightBSD:*:*)
echo ${UNAME_MACHINE}-unknown-midnightbsd${UNAME_RELEASE}
exit ;;
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
......@@ -262,6 +265,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:Redox:*:*)
echo ${UNAME_MACHINE}-unknown-redox
exit ;;
mips:OSF1:*.*)
echo mips-dec-osf1
exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
......@@ -479,13 +485,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
#endif
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
#endif
#endif
exit (-1);
......@@ -608,7 +614,7 @@ EOF
*:AIX:*:*)
echo rs6000-ibm-aix
exit ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
echo romp-ibm-bsd4.4
exit ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
......@@ -1072,7 +1078,7 @@ EOF
i*86:*DOS:*:*)
echo ${UNAME_MACHINE}-pc-msdosdjgpp
exit ;;
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
i*86:*:4.*:*)
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
......@@ -1400,8 +1406,20 @@ EOF
exit ;;
esac
echo "$0: unable to guess system type" >&2
case "${UNAME_MACHINE}:${UNAME_SYSTEM}" in
mips:Linux | mips64:Linux)
# If we got here on MIPS GNU/Linux, output extra information.
cat >&2 <<EOF
NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
the system type. Please install a C compiler and try again.
EOF
;;
esac
cat >&2 <<EOF
$0: unable to guess system type
This script (version $timestamp), has failed to recognize the
operating system you are using. If your script is old, overwrite *all*
......@@ -1441,7 +1459,7 @@ EOF
exit 1
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'write-file-functions 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
......
#! /bin/sh
# Configuration validation subroutine script.
# Copyright 1992-2017 Free Software Foundation, Inc.
# Copyright 1992-2018 Free Software Foundation, Inc.
timestamp='2017-09-16'
timestamp='2018-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
......@@ -57,7 +57,7 @@ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
Canonicalize a configuration name.
Operation modes:
Options:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
......@@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
Copyright 1992-2017 Free Software Foundation, Inc.
Copyright 1992-2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
......@@ -313,7 +313,6 @@ case $basic_machine in
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| visium \
| wasm32 \
| we32k \
| x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
basic_machine=$basic_machine-unknown
......@@ -640,7 +639,7 @@ case $basic_machine in
basic_machine=rs6000-bull
os=-bosx
;;
dpx2* | dpx2*-bull)
dpx2*)
basic_machine=m68k-bull
os=-sysv3
;;
......@@ -1417,7 +1416,7 @@ case $os in
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
| -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
| -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
......@@ -1547,6 +1546,19 @@ case $os in
-dicos*)
os=-dicos
;;
-pikeos*)
# Until real need of OS specific support for
# particular features comes up, bare metal
# configurations are quite functional.
case $basic_machine in
arm*)
os=-eabi
;;
*)
os=-elf
;;
esac
;;
-nacl*)
;;
-ios)
......@@ -1829,7 +1841,7 @@ echo $basic_machine$os
exit
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'write-file-functions 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
......
......@@ -79,8 +79,10 @@ fi
#
# Generate build-outputs.mk for the build systme
#
PYTHON=${PYTHON-`build/PrintPath python3 python2 python`}
echo "Generating 'make' outputs ..."
$apr_src_dir/build/gen-build.py make
${PYTHON} $apr_src_dir/build/gen-build.py make
if [ $? -gt 0 ]; then
echo "Creating build-outputs.mk failed"
exit 1
......
......@@ -651,6 +651,7 @@ infodir
docdir
oldincludedir
includedir
runstatedir
localstatedir
sharedstatedir
sysconfdir
......@@ -729,6 +730,7 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE}'
......@@ -981,6 +983,15 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-runstatedir | --runstatedir | --runstatedi | --runstated \
| --runstate | --runstat | --runsta | --runst | --runs \
| --run | --ru | --r)
ac_prev=runstatedir ;;
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
| --run=* | --ru=* | --r=*)
runstatedir=$ac_optarg ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
......@@ -1118,7 +1129,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir
libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
......@@ -1271,6 +1282,7 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
......@@ -4061,6 +4073,29 @@ case $host in
done
fi
;;
*linux*)
if test "x$CFLAGS" = "x"; then
test "x$silent" != "xyes" && echo " setting CFLAGS to \"-DTCNATIVE_LINUX\""
CFLAGS="-DTCNATIVE_LINUX"
else
apr_addto_bugger="-DTCNATIVE_LINUX"
for i in $apr_addto_bugger; do
apr_addto_duplicate="0"
for j in $CFLAGS; do
if test "x$i" = "x$j"; then
apr_addto_duplicate="1"
break
fi
done
if test $apr_addto_duplicate = "0"; then
test "x$silent" != "xyes" && echo " adding \"$i\" to CFLAGS"
CFLAGS="$CFLAGS $i"
fi
done
fi
;;
*)
;;
......