Merge changes I27fa4dd6,I5bd8c2d2

* changes:
  Enable NDEBUG for libwebsockets on debuggable and host builds.
  Enable device build.
diff --git a/Android.bp b/Android.bp
index c1af17c..1e66aba 100644
--- a/Android.bp
+++ b/Android.bp
@@ -13,6 +13,44 @@
 // limitations under the License.
 
 // Common variables.
+package {
+    default_applicable_licenses: ["external_libwebsockets_license"],
+}
+
+// Added automatically by a large-scale-change that took the approach of
+// 'apply every license found to every target'. While this makes sure we respect
+// every license restriction, it may not be entirely correct.
+//
+// e.g. GPL in an MIT project might only apply to the contrib/ directory.
+//
+// Please consider splitting the single license below into multiple licenses,
+// taking care not to lose any license_kind information, and overriding the
+// default license using the 'licenses: [...]' property on targets as needed.
+//
+// For unused files, consider creating a 'fileGroup' with "//visibility:private"
+// to attach the license to, and including a comment whether the files may be
+// used in the current project.
+// See: http://go/android-license-faq
+license {
+    name: "external_libwebsockets_license",
+    visibility: [":__subpackages__"],
+    license_kinds: [
+        "SPDX-license-identifier-Apache-2.0",
+        "SPDX-license-identifier-BSD",
+        "SPDX-license-identifier-Beerware",
+        "SPDX-license-identifier-CC0-1.0",
+        "SPDX-license-identifier-GPL",
+        "SPDX-license-identifier-LGPL",
+        "SPDX-license-identifier-MIT",
+        "SPDX-license-identifier-Zlib",
+        "legacy_permissive",
+        "legacy_unencumbered",
+    ],
+    license_text: [
+        "LICENSE",
+    ],
+}
+
 libwebsocketsSrcFiles = [
     "lib/core-net/adopt.c",
     "lib/core-net/client.c",
diff --git a/LICENSE b/LICENSE
index b3c9edb..6347b80 100644
--- a/LICENSE
+++ b/LICENSE
@@ -10,6 +10,7 @@
   - win32port/zlib            - ZLIB license (see zlib.h)
   - lib/tls/mbedtls/wrapper   - Apache 2.0 (only built if linked against mbedtls)
   - lib/misc/base64-decode.c  - already MIT
+  - cmake/FindGit.cmake       - 3D Slicer Contribution and Software License Agreement
 
 Relicensed to MIT:
 
@@ -54,3 +55,197 @@
  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
  IN THE SOFTWARE.
 
+
+3D Slicer Contribution and Software License Agreement Version 1.0
+applied to cmake/FindGit.cmake:
+
+ 3D Slicer Contribution and Software License Agreement ("Agreement")
+ Version 1.0 (December 20, 2005)
+
+ This Agreement covers contributions to and downloads from the 3D
+ Slicer project ("Slicer") maintained by The Brigham and Women's
+ Hospital, Inc. ("Brigham"). Part A of this Agreement applies to
+ contributions of software and/or data to Slicer (including making
+ revisions of or additions to code and/or data already in Slicer). Part
+ B of this Agreement applies to downloads of software and/or data from
+ Slicer. Part C of this Agreement applies to all transactions with
+ Slicer. If you distribute Software (as defined below) downloaded from
+ Slicer, all of the paragraphs of Part B of this Agreement must be
+ included with and apply to such Software.
+
+ Your contribution of software and/or data to Slicer (including prior
+ to the date of the first publication of this Agreement, each a
+ "Contribution") and/or downloading, copying, modifying, displaying,
+ distributing or use of any software and/or data from Slicer
+ (collectively, the "Software") constitutes acceptance of all of the
+ terms and conditions of this Agreement. If you do not agree to such
+ terms and conditions, you have no right to contribute your
+ Contribution, or to download, copy, modify, display, distribute or use
+ the Software.
+
+ PART A. CONTRIBUTION AGREEMENT - License to Brigham with Right to
+ Sublicense ("Contribution Agreement").
+
+ 1. As used in this Contribution Agreement, "you" means the individual
+    contributing the Contribution to Slicer and the institution or
+    entity which employs or is otherwise affiliated with such
+    individual in connection with such Contribution.
+
+ 2. This Contribution Agreement applies to all Contributions made to
+    Slicer, including without limitation Contributions made prior to
+    the date of first publication of this Agreement. If at any time you
+    make a Contribution to Slicer, you represent that (i) you are
+    legally authorized and entitled to make such Contribution and to
+    grant all licenses granted in this Contribution Agreement with
+    respect to such Contribution; (ii) if your Contribution includes
+    any patient data, all such data is de-identified in accordance with
+    U.S. confidentiality and security laws and requirements, including
+    but not limited to the Health Insurance Portability and
+    Accountability Act (HIPAA) and its regulations, and your disclosure
+    of such data for the purposes contemplated by this Agreement is
+    properly authorized and in compliance with all applicable laws and
+    regulations; and (iii) you have preserved in the Contribution all
+    applicable attributions, copyright notices and licenses for any
+    third party software or data included in the Contribution.
+
+ 3. Except for the licenses granted in this Agreement, you reserve all
+    right, title and interest in your Contribution.
+
+ 4. You hereby grant to Brigham, with the right to sublicense, a
+    perpetual, worldwide, non-exclusive, no charge, royalty-free,
+    irrevocable license to use, reproduce, make derivative works of,
+    display and distribute the Contribution. If your Contribution is
+    protected by patent, you hereby grant to Brigham, with the right to
+    sublicense, a perpetual, worldwide, non-exclusive, no-charge,
+    royalty-free, irrevocable license under your interest in patent
+    rights covering the Contribution, to make, have made, use, sell and
+    otherwise transfer your Contribution, alone or in combination with
+    any other code.
+
+ 5. You acknowledge and agree that Brigham may incorporate your
+    Contribution into Slicer and may make Slicer available to members
+    of the public on an open source basis under terms substantially in
+    accordance with the Software License set forth in Part B of this
+    Agreement. You further acknowledge and agree that Brigham shall
+    have no liability arising in connection with claims resulting from
+    your breach of any of the terms of this Agreement.
+
+ 6. YOU WARRANT THAT TO THE BEST OF YOUR KNOWLEDGE YOUR CONTRIBUTION
+    DOES NOT CONTAIN ANY CODE THAT REQURES OR PRESCRIBES AN "OPEN
+    SOURCE LICENSE" FOR DERIVATIVE WORKS (by way of non-limiting
+    example, the GNU General Public License or other so-called
+    "reciprocal" license that requires any derived work to be licensed
+    under the GNU General Public License or other "open source
+    license").
+
+ PART B. DOWNLOADING AGREEMENT - License from Brigham with Right to
+ Sublicense ("Software License").
+
+ 1. As used in this Software License, "you" means the individual
+    downloading and/or using, reproducing, modifying, displaying and/or
+    distributing the Software and the institution or entity which
+    employs or is otherwise affiliated with such individual in
+    connection therewith. The Brigham and Women?s Hospital,
+    Inc. ("Brigham") hereby grants you, with right to sublicense, with
+    respect to Brigham's rights in the software, and data, if any,
+    which is the subject of this Software License (collectively, the
+    "Software"), a royalty-free, non-exclusive license to use,
+    reproduce, make derivative works of, display and distribute the
+    Software, provided that:
+
+ (a) you accept and adhere to all of the terms and conditions of this
+ Software License;
+
+ (b) in connection with any copy of or sublicense of all or any portion
+ of the Software, all of the terms and conditions in this Software
+ License shall appear in and shall apply to such copy and such
+ sublicense, including without limitation all source and executable
+ forms and on any user documentation, prefaced with the following
+ words: "All or portions of this licensed product (such portions are
+ the "Software") have been obtained under license from The Brigham and
+ Women's Hospital, Inc. and are subject to the following terms and
+ conditions:"
+
+ (c) you preserve and maintain all applicable attributions, copyright
+ notices and licenses included in or applicable to the Software;
+
+ (d) modified versions of the Software must be clearly identified and
+ marked as such, and must not be misrepresented as being the original
+ Software; and
+
+ (e) you consider making, but are under no obligation to make, the
+ source code of any of your modifications to the Software freely
+ available to others on an open source basis.
+
+ 2. The license granted in this Software License includes without
+    limitation the right to (i) incorporate the Software into
+    proprietary programs (subject to any restrictions applicable to
+    such programs), (ii) add your own copyright statement to your
+    modifications of the Software, and (iii) provide additional or
+    different license terms and conditions in your sublicenses of
+    modifications of the Software; provided that in each case your use,
+    reproduction or distribution of such modifications otherwise
+    complies with the conditions stated in this Software License.
+
+ 3. This Software License does not grant any rights with respect to
+    third party software, except those rights that Brigham has been
+    authorized by a third party to grant to you, and accordingly you
+    are solely responsible for (i) obtaining any permissions from third
+    parties that you need to use, reproduce, make derivative works of,
+    display and distribute the Software, and (ii) informing your
+    sublicensees, including without limitation your end-users, of their
+    obligations to secure any such required permissions.
+
+ 4. The Software has been designed for research purposes only and has
+    not been reviewed or approved by the Food and Drug Administration
+    or by any other agency. YOU ACKNOWLEDGE AND AGREE THAT CLINICAL
+    APPLICATIONS ARE NEITHER RECOMMENDED NOR ADVISED. Any
+    commercialization of the Software is at the sole risk of the party
+    or parties engaged in such commercialization. You further agree to
+    use, reproduce, make derivative works of, display and distribute
+    the Software in compliance with all applicable governmental laws,
+    regulations and orders, including without limitation those relating
+    to export and import control.
+
+ 5. The Software is provided "AS IS" and neither Brigham nor any
+    contributor to the software (each a "Contributor") shall have any
+    obligation to provide maintenance, support, updates, enhancements
+    or modifications thereto. BRIGHAM AND ALL CONTRIBUTORS SPECIFICALLY
+    DISCLAIM ALL EXPRESS AND IMPLIED WARRANTIES OF ANY KIND INCLUDING,
+    BUT NOT LIMITED TO, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR
+    A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+    BRIGHAM OR ANY CONTRIBUTOR BE LIABLE TO ANY PARTY FOR DIRECT,
+    INDIRECT, SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES
+    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY ARISING IN ANY WAY
+    RELATED TO THE SOFTWARE, EVEN IF BRIGHAM OR ANY CONTRIBUTOR HAS
+    BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. TO THE MAXIMUM
+    EXTENT NOT PROHIBITED BY LAW OR REGULATION, YOU FURTHER ASSUME ALL
+    LIABILITY FOR YOUR USE, REPRODUCTION, MAKING OF DERIVATIVE WORKS,
+    DISPLAY, LICENSE OR DISTRIBUTION OF THE SOFTWARE AND AGREE TO
+    INDEMNIFY AND HOLD HARMLESS BRIGHAM AND ALL CONTRIBUTORS FROM AND
+    AGAINST ANY AND ALL CLAIMS, SUITS, ACTIONS, DEMANDS AND JUDGMENTS
+    ARISING THEREFROM.
+
+ 6. None of the names, logos or trademarks of Brigham or any of
+    Brigham's affiliates or any of the Contributors, or any funding
+    agency, may be used to endorse or promote products produced in
+    whole or in part by operation of the Software or derived from or
+    based on the Software without specific prior written permission
+    from the applicable party.
+
+ 7. Any use, reproduction or distribution of the Software which is not
+    in accordance with this Software License shall automatically revoke
+    all rights granted to you under this Software License and render
+    Paragraphs 1 and 2 of this Software License null and void.
+
+ 8. This Software License does not grant any rights in or to any
+    intellectual property owned by Brigham or any Contributor except
+    those rights expressly granted hereunder.
+
+ PART C. MISCELLANEOUS
+
+ This Agreement shall be governed by and construed in accordance with
+ the laws of The Commonwealth of Massachusetts without regard to
+ principles of conflicts of law. This Agreement shall supercede and
+ replace any license terms that you may have agreed to previously with
+ respect to Slicer.
diff --git a/contrib/Android.mk b/contrib/Android.mk
index 20b2e10..5d25757 100644
--- a/contrib/Android.mk
+++ b/contrib/Android.mk
@@ -6,6 +6,9 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE    := libwebsockets
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-BSD SPDX-license-identifier-GPL SPDX-license-identifier-MIT SPDX-license-identifier-Zlib legacy_unencumbered
+LOCAL_LICENSE_CONDITIONS := notice restricted unencumbered
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../LICENSE
 LOCAL_CFLAGS    := -DLWS_BUILTIN_GETIFADDRS
 LWS_LIB_PATH	:= ../../../shared/libwebsockets/lib
 LOCAL_C_INCLUDES:= $(LOCAL_PATH)/$(LWS_LIB_PATH)
diff --git a/test-apps/android/app/src/main/jni/Android.mk b/test-apps/android/app/src/main/jni/Android.mk
index 80720ce..0b26a98 100644
--- a/test-apps/android/app/src/main/jni/Android.mk
+++ b/test-apps/android/app/src/main/jni/Android.mk
@@ -5,6 +5,9 @@
 #
 include $(CLEAR_VARS)
 LOCAL_MODULE := libz
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-CC0-1.0 legacy_unencumbered
+LOCAL_LICENSE_CONDITIONS := unencumbered
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../../LICENSE
 LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/lib/libz.a
 include $(PREBUILT_STATIC_LIBRARY)
 
@@ -12,6 +15,9 @@
 #
 include $(CLEAR_VARS)
 LOCAL_MODULE := libssl
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-CC0-1.0 legacy_unencumbered
+LOCAL_LICENSE_CONDITIONS := unencumbered
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../../LICENSE
 LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/lib/libssl.a
 include $(PREBUILT_STATIC_LIBRARY)
 
@@ -19,6 +25,9 @@
 #
 include $(CLEAR_VARS)
 LOCAL_MODULE := libcrypto
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-CC0-1.0 legacy_unencumbered
+LOCAL_LICENSE_CONDITIONS := unencumbered
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../../LICENSE
 LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/lib/libcrypto.a
 include $(PREBUILT_STATIC_LIBRARY)
 
@@ -26,6 +35,9 @@
 #
 include $(CLEAR_VARS)
 LOCAL_MODULE := libwebsockets
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-CC0-1.0 legacy_unencumbered
+LOCAL_LICENSE_CONDITIONS := unencumbered
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../../LICENSE
 LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/lib/libwebsockets.a
 include $(PREBUILT_STATIC_LIBRARY)
 
@@ -34,6 +46,9 @@
 include $(CLEAR_VARS)
 LOCAL_DISABLE_FATAL_LINKER_WARNINGS := true
 LOCAL_MODULE := lwsservice
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-CC0-1.0 legacy_unencumbered
+LOCAL_LICENSE_CONDITIONS := unencumbered
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../../LICENSE
 LOCAL_SRC_FILES := LwsService.cpp
 LOCAL_C_INCLUDES := $(LOCAL_PATH) $(TARGET_ARCH_ABI)/include
 LOCAL_STATIC_LIBRARIES := websockets z ssl crypto