From: Alexander Köplinger Date: Thu, 27 Oct 2016 10:37:23 +0000 (+0200) Subject: Merge pull request #3800 from madewokherd/mingwbuild X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=8fcd9402c573d4323f459c6208494adb3e59209f;hp=1bee4aa4e5b1c5477a6a95c257340589136a5c72;p=mono.git Merge pull request #3800 from madewokherd/mingwbuild Use lower-case names for Windows headers. --- diff --git a/configure.ac b/configure.ac index c644a7c4202..f258b89d7f2 100644 --- a/configure.ac +++ b/configure.ac @@ -550,9 +550,6 @@ if test x"$GCC" = xyes; then # We rely on signed overflow to behave CFLAGS="$CFLAGS -fwrapv" - # We rely on zero length arrays in structs - CFLAGS="$CFLAGS -Wno-zero-length-array" - CFLAGS="$CFLAGS -DMONO_DLL_EXPORT" if test x"$disable_visibility_hidden" = xno; then # Don't export any symbols by default @@ -579,6 +576,8 @@ if test x"$GCC" = xyes; then # https://bugzilla.samba.org/show_bug.cgi?id=8118 WARN="$WARN -Qunused-arguments" WARN="$WARN -Wno-unused-function -Wno-tautological-compare -Wno-parentheses-equality -Wno-self-assign -Wno-return-stack-address -Wno-constant-logical-operand" + # We rely on zero length arrays in structs + WARN="$WARN -Wno-zero-length-array" fi else # The Sun Forte compiler complains about inline functions that access static variables @@ -781,7 +780,7 @@ dnl TEST_PROFILE=default enable_llvm_default=no -INVARIANT_AOT_OPTIONS=nimt-trampolines=900,ntrampolines=8000,nrgctx-fetch-trampolines=256,ngsharedvt-trampolines=2800 +INVARIANT_AOT_OPTIONS=nimt-trampolines=2000,ntrampolines=8000,nrgctx-fetch-trampolines=256,ngsharedvt-trampolines=4000 if test x$cross_compiling = xyes -o x$enable_mcs_build = xno; then DISABLE_MCS_DOCS_default=yes @@ -3930,7 +3929,10 @@ dnl ************** AC_ARG_ENABLE(btls, [ --disable-btls Disable the BoringTls provider], enable_btls=$enableval, enable_btls=$BTLS_SUPPORTED) AC_ARG_WITH(btls_android_ndk, [ --with-btls-android-ndk Android NDK for BoringTls]) +AC_ARG_ENABLE(dynamic-btls, [ --enable-dynamic-btls Place the BTLS provider into a separate shared library/archive.], enable_dynamic_btls=$enableval, enable_dynamic_btls=no) + AM_CONDITIONAL(BTLS, test x$enable_btls = xyes) +AM_CONDITIONAL(DYNAMIC_BTLS, test x$enable_dynamic_btls = xyes) btls_android=no if test "x$enable_btls" = "xyes"; then @@ -3999,6 +4001,10 @@ if test "x$enable_btls" = "xyes"; then AC_SUBST(BTLS_CMAKE_ARGS) AC_DEFINE(HAVE_BTLS, 1, [BoringTls is supported]) + + if test "x$enable_dynamic_btls" = "xyes"; then + AC_DEFINE(HAVE_DYNAMIC_BTLS, 1, [BTLS in a shared libraty]) + fi else enable_btls=no fi @@ -4407,6 +4413,13 @@ fi echo "AOT_BUILD_FLAGS=$AOT_BUILD_FLAGS" >> $srcdir/$mcsdir/build/config.make fi + if test "x$enable_btls" = "xyes"; then + echo "HAVE_BTLS=1" >> $srcdir/$mcsdir/build/config.make + if test "x$enable_dynamic_btls" = "xyes"; then + echo "HAVE_DYNAMIC_BTLS=1" >> $srcdir/$mcsdir/build/config.make + fi + fi + fi ) diff --git a/data/config.in b/data/config.in index b4b7243ecfd..be831514293 100644 --- a/data/config.in +++ b/data/config.in @@ -11,6 +11,7 @@ + diff --git a/external/boringssl b/external/boringssl index 9ad688f0ae6..432738a3c93 160000 --- a/external/boringssl +++ b/external/boringssl @@ -1 +1 @@ -Subproject commit 9ad688f0ae679b32e9c0a9b21bb63a4488c28b6b +Subproject commit 432738a3c938b4f751307301c6aa07f2027a8864 diff --git a/man/caspol.1 b/man/caspol.1 index fe705601b4c..853df717c75 100644 --- a/man/caspol.1 +++ b/man/caspol.1 @@ -11,7 +11,7 @@ caspol \- Command line tool to modify Code Access Security policies. .PP .B caspol [options] [policy level] [actions] [parameters] ... .SH DESCRIPTION -This tools allow to list and modify the different policy levels (user, +This tool allows to list and modify the different policy levels (user, machine and enterprise). .SH OPTIONS .TP @@ -20,7 +20,7 @@ Do not ask confirmation to change the policy level. .TP .I -f[orce] Caspol.exe is a managed tool. Changing the security policies could affect -it's ability to work properly. This option permit changes that could +it's ability to work properly. This option permits changes that could disallow caspol.exe from working properly. .TP .I -? | /? | -h[elp] @@ -90,7 +90,7 @@ Remove the specified named permission set from the policy level .TP .I -af | -addfulltrust assemblyname Add the specified assembly to the fully trusted assembly list in the -policy level. If a policy use some custom security permissions then the +policy level. If a policy uses some custom security permissions then the assembly containing the custom permissions must be in the fully trusted list. Note that this requirement is recursive (all assemblies required by the specified assembly must also be in the list). The assembly must be @@ -148,33 +148,33 @@ Use the option to load a custom condition into the policy. The class that will deserialize the XML policy must be in a fully trusted assembly. .TP .I -hash algo [-hex hash | -file assemblyname] -This condition specify a specific hash that an assembly must generate +This condition specifies a specific hash that an assembly must generate (from itself) to be satisfied. Any change to the assembly will require the policy to be updated (as the hash value will have changed). .TP .I -pub [-cert certificate | -file signedfile | -hex rawdata] -This condition specify a X.509 Authenticode(r) certificate that must have +This condition specifies a X.509 Authenticode(r) certificate that must have signed an assembly in order to be satisfied. The certificate can be referenced as a file (binary DER), a signed file (containing the certificate) or with the hexadecimal value of the certificate. Note that files outside the policy must also be protected against tempering. .TP .I -strong -file filename [name | -noname] [version | -noversion] -This condition specify a specific StrongName that must have signed an +This condition specifies a specific StrongName that must have signed an assembly to be satisfied. Use -noname if the assembly name isn't known (or important) and -version if the version isn't known (or important) in the resolution. .TP .I -site hostname -This condition specify the site from where the assembly must come from to +This condition specifies the site from where the assembly must come from to be satisfied. .TP .I -url URL -This condition specify the URL from where the assembly must come from to +This condition specifies the URL from where the assembly must come from to be satisfied. .TP .I -zone zonename -This condition specify the zone from where the assembly must come from to +This condition specifies the zone from where the assembly must come from to be satisfied. Existing zones are MyComputer, Internet, Intranet, Trusted and Untrusted. @@ -204,7 +204,7 @@ It is possible to chain several commands with the tool, like: .TP This will list all machine level code groups, then remove the code group labeled 1.6, list again all code groups (missing 1.6), reset the policy -and finally showing all code groups (where 1.6 is back). +and finally show all code groups (where 1.6 is back). .SH KNOWN ISSUES .TP diff --git a/man/cccheck.1 b/man/cccheck.1 index aead19a58d0..3614f4ae4ec 100644 --- a/man/cccheck.1 +++ b/man/cccheck.1 @@ -11,7 +11,7 @@ cccheck \- Perform static code contracts verification for CLR assemblies. .PP .B cccheck --assembly= [options] .SH DESCRIPTION -Perform static code contracts verification to find bugs and inconsistences +Perform static code contracts verification to find bugs and inconsistencies between code and specification. This includes non-null, integer analyses. .PP The assembly must have been built with the symbol CONTRACTS_FULL defined, diff --git a/man/ccrewrite.1 b/man/ccrewrite.1 index 22f242b2fb4..a3907ed699a 100644 --- a/man/ccrewrite.1 +++ b/man/ccrewrite.1 @@ -1,6 +1,6 @@ .\" .\" ccrewrite manual page. -.\" Copyright (C) 2010 Novell, Inc (http://www.novell.com) +.\" Copyright (C) 2010 Chris Bacon. .\" Author: .\" Chris Bacon .\" @@ -28,7 +28,7 @@ specified assembly. .TP .I "--assembly " The assembly to rewrite. If no --output option is specified, then this file -overwritten with the rewritten version. +is overwritten with the rewritten version. .TP .I "--debug" Use debug information if available to improve the usefulness of contract @@ -38,7 +38,7 @@ failure messages. Show help for ccrewrite, listing configuration options. .TP .I "--level (default=4)" -Set the which contract types are present in rewritten assembly: +Set which contract types are present in rewritten assembly: 0 = No contracts; 1 = Release requires; 2 = Requires; diff --git a/man/certmgr.1 b/man/certmgr.1 index b80ffd0457f..92bfa164b96 100644 --- a/man/certmgr.1 +++ b/man/certmgr.1 @@ -15,7 +15,7 @@ certmgr \- Mono Certificate Manager (CLI version) or .B certmgr -ssl [options] url .SH DESCRIPTION -This tool allow to list, add, remove or extract certificates, certificate +This tool allows to list, add, remove or extract certificates, certificate revocation lists (CRL) or certificate trust lists (CTL) to/from a certificate store. Certificate stores are used to build and validate certificate chains for Authenticode(r) code signing validation and SSL @@ -23,7 +23,7 @@ server certificates. .SH STORES The .I store -represents the certificate store to use. It can be one of the +represents the certificate store to use. It can be one of the following: .TP .I "My" @@ -46,7 +46,7 @@ This is for untrusted roots List the certificates, CTL or CTL in the specified store. .TP .I "-add" -Add a certificate, CRL or CTL to specified store. If filename it's a pkcs12 +Add a certificate, CRL or CTL to specified store. If filename is a pkcs12 or pfx file, and it contains a private key, it will be imported to local key pair container. .TP @@ -64,25 +64,25 @@ Copy a certificate, CRL or CTL from a store to a file. Download and add the certificates from a SSL session. You'll be asked to confirm the addition of every certificate received from the server. Note that SSL/TLS protocols do not requires a server to send the root certificate. -This action assume an certificate (-c) object type and will import the +This action assumes a certificate (-c) object type and will import the certificates in appropriate stores (i.e. server certificate in the -OtherPeople store, the root certificate in the Trust store, any other +OtherPeople store, the root certificate in the Trust store and any other intermediate certificates in the IntermediateCA store). .TP .I "-importKey" Allows importing a private key from a pkcs12 file into a local key pair -store. (Usefull when you already have the key's corresponding certificate +store. (Useful when you already have the key's corresponding certificate installed at the specific store.) .SH OBJECT TYPES .TP .I "-c", "-cert", "-certificate" -Add, Delete or Put certificates. That is the specified file must/will contains +Add, Delete or Put certificates. That is the specified file must/will contain X.509 certificates in DER binary encoding. .TP .I "-crl" Add, Delete or Put certificate revocation lists (CRL). That is the specified -file must/will contains X.509 CRL in DER binary encoding. +file must/will contain X.509 CRL in DER binary encoding. .TP .I "-ctl" Add, Delete or Put certificate trust lists (CRL). UNSUPPORTED. @@ -96,7 +96,7 @@ Use the machine's certificate stores (instead of the default user's stores). More details displayed on the console. .TP .I "-p password" -Use the specify password when accessing a pkcs12 file. +Use the specified password when accessing a pkcs12 file. .TP .I "-help", "-h", "-?", "/?" Display help about this tool. @@ -113,7 +113,7 @@ For example the trusted root certificates for a user would be kept under .TP Certificates files are kept in DER (binary) format (extension .cer). .TP -The filenames either starts with +The filenames either start with .I tbp (thumbprint) or .I ski diff --git a/man/crlupdate.1 b/man/crlupdate.1 index 8e20437b1aa..b60c6f708b8 100644 --- a/man/crlupdate.1 +++ b/man/crlupdate.1 @@ -42,7 +42,7 @@ associated with certificates present in user store. .B mono crlupdate.exe -f -m Force the download of every CRL associated with certificates present in the machine store. Note that the user running this needs read/write -access to the machine store or not update will occur. +access to the machine store or update will not occur. .SH AUTHOR Written by Sebastien Pouliot diff --git a/man/csharp.1 b/man/csharp.1 index 9379658e62e..a0f9e6f4f6a 100644 --- a/man/csharp.1 +++ b/man/csharp.1 @@ -224,7 +224,7 @@ versions uses the standard Gtk# key bindings. .PP The command set is similar to many other applications (cursor keys) and incorporates some of the Emacs commands for editing as well as a -history mechanism to +history mechanism too. .PP .PP The following keyboard input is supported: @@ -247,7 +247,7 @@ line in the history. .TP .I Down Arrow Key, Control-n Moves forward in the history, replaces the current line with the next -lien in the history. +line in the history. .TP .I Return Executes the current line if the statement or expression is complete, diff --git a/man/disco.1 b/man/disco.1 index e8e319ccc65..c2f2cfddbd8 100644 --- a/man/disco.1 +++ b/man/disco.1 @@ -29,7 +29,7 @@ option is specified), and saves them to disk. The following options are available: .TP .I "-nologo" -Supress the startup logo. +Suppress the startup logo. .TP .I "-nosave" Do not save the discovered documents to disk. The default is to save the documents. diff --git a/man/mcs.1 b/man/mcs.1 index 377c445cb09..644b85a6e4f 100644 --- a/man/mcs.1 +++ b/man/mcs.1 @@ -238,6 +238,9 @@ Names the output file to be generated. .I \-\-parse Used for benchmarking. The compiler will only parse its input files. .TP +.I \-pathmap:K=V[,Kn=Vn] +Sets a mapping for source path names used in generated output. +.TP .I \-pkg:package1[,packageN] Reference assemblies for the given packages. .Sp diff --git a/man/mkbundle.1 b/man/mkbundle.1 index 305cfcc7f72..3d067eb27ef 100644 --- a/man/mkbundle.1 +++ b/man/mkbundle.1 @@ -24,7 +24,8 @@ dependencies referenced, use the "--deps" command line option. There are two modes of operation, one uses an existing Mono binary or a server-hosted list of binaries and is enabled when you use either the -.B --cross +.B --cross, +.B --sdk or the .B --runtime command line options. @@ -119,10 +120,19 @@ are using (1.0 or 2.0) When passed, DIR will be set for the MONO_CFG_DIR environment variable .TP .I "--cross target" -Creates a bundle for the specified target platform. The target -must be a directory in ~/.mono/targets/ that contains a "mono" -binary. You can fetch various targets using the --fetch-target -command line option. +Use this to request mkbundle generate a cross-compiled binary. It +Creates a bundle for the specified target platform. The target must +be a directory in ~/.mono/targets/ that contains an SDK installation +as produced by the mono-package-runtime tool. You can get a list of +the precompiled versions of the runtime using --list-targets and you +can fetch a specific target using the --fetch-target command line +option. +.Sp +This flag is mutually exclusive with +.I --sdk +which is used to specify an absolute path to resolve the Mono runtime +from and the --runtime option which is used to manually construct the +cross-platform package. .TP .I "--deps" This option will bundle all of the referenced assemblies for the @@ -203,7 +213,26 @@ executed. Additionally, users of your binary can still configure their own options by setting the .I MONO_ENV_OPTIONS -environment variable. +environment variable. +.TP +.I "--sdk SDK_PATH" +Use this flag to specify a path from which mkbundle will resolve the +Mono SDK from. The SDK path should be the prefix path that you used +to configure a Mono installation. And would typically contain files +lik +.I SDK_PATH/bin/mono +, +.I SDK_PATH/lib/mono/4.5 +and so on. +.Sp +When this flag is specified, +.I mkbundle +will resolve the runtime, the framework libraries, unmanaged resources +and configuration files from the files located in this directory. +.Sp +This flag is mutually exlusive with +.I --cross +. .TP .I "--target-server SERVER" By default the mkbundle tool will download from a Mono server the diff --git a/mcs/build/executable.make b/mcs/build/executable.make index afcad223f8e..8acb0f5df61 100644 --- a/mcs/build/executable.make +++ b/mcs/build/executable.make @@ -42,7 +42,9 @@ executable_CLEAN_FILES += $(build_lib) $(build_lib).so $(build_lib).mdb $(build_ makefrag = $(depsdir)/$(PROFILE)_$(base_prog).makefrag +ifndef NO_BUILD all-local: $(the_lib) $(PROGRAM_config) +endif install-local: all-local test-local: all-local diff --git a/mcs/build/profiles/monotouch_runtime.make b/mcs/build/profiles/monotouch_runtime.make index e4370cf4f98..1603d123c72 100644 --- a/mcs/build/profiles/monotouch_runtime.make +++ b/mcs/build/profiles/monotouch_runtime.make @@ -39,3 +39,5 @@ FRAMEWORK_VERSION = 2.1 NO_INSTALL = yes MOBILE_STATIC = yes MOBILE_PROFILE = yes + +PROFILE_DISABLE_BTLS=1 diff --git a/mcs/class/Facades/System.Diagnostics.Tracing/EventCounter.cs b/mcs/class/Facades/System.Diagnostics.Tracing/EventCounter.cs deleted file mode 100644 index 7fedc406886..00000000000 --- a/mcs/class/Facades/System.Diagnostics.Tracing/EventCounter.cs +++ /dev/null @@ -1,41 +0,0 @@ -// -// EventCounter.cs -// -// Authors: -// Marek Safar -// -// Copyright (C) 2016 Xamarin Inc (http://www.xamarin.com) -// -// 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 AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - -namespace System.Diagnostics.Tracing -{ - public class EventCounter - { - public EventCounter (string name, EventSource eventSource) - { - } - - public void WriteMetric (float value) - { - } - } -} \ No newline at end of file diff --git a/mcs/class/Facades/System.Diagnostics.Tracing/Facades_System.Diagnostics.Tracing-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.Tracing/Facades_System.Diagnostics.Tracing-net_4_x.csproj index e743ee19c29..8e7866cdebb 100644 --- a/mcs/class/Facades/System.Diagnostics.Tracing/Facades_System.Diagnostics.Tracing-net_4_x.csproj +++ b/mcs/class/Facades/System.Diagnostics.Tracing/Facades_System.Diagnostics.Tracing-net_4_x.csproj @@ -55,7 +55,6 @@ -