From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 0E7337EEBF for ; Wed, 8 Jul 2015 18:24:21 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of shayne.fletcher.50@gmail.com) identity=pra; client-ip=209.85.216.47; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="shayne.fletcher.50@gmail.com"; x-sender="shayne.fletcher.50@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of shayne.fletcher.50@gmail.com designates 209.85.216.47 as permitted sender) identity=mailfrom; client-ip=209.85.216.47; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="shayne.fletcher.50@gmail.com"; x-sender="shayne.fletcher.50@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-vn0-f47.google.com) identity=helo; client-ip=209.85.216.47; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="shayne.fletcher.50@gmail.com"; x-sender="postmaster@mail-vn0-f47.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0DRAwBVTZ1VlS/YVdFcgzE1YAaDGq9DH4ojgh2HUQdMAQEBAQEBEgEBAQEHDQkJHzCEPBEdARseAxIDDTcCJAERAQUBDhQ1h3YBAxINmhWNOoIFgSw+MYs/gWuCeYswChknDVeFBhoBBQ6BJ5ILEoExBYVdjkQChGeHF4IAlRgSI4EVEQaCGxyBbyIxAYJKAQEB X-IPAS-Result: A0DRAwBVTZ1VlS/YVdFcgzE1YAaDGq9DH4ojgh2HUQdMAQEBAQEBEgEBAQEHDQkJHzCEPBEdARseAxIDDTcCJAERAQUBDhQ1h3YBAxINmhWNOoIFgSw+MYs/gWuCeYswChknDVeFBhoBBQ6BJ5ILEoExBYVdjkQChGeHF4IAlRgSI4EVEQaCGxyBbyIxAYJKAQEB X-IronPort-AV: E=Sophos;i="5.15,432,1432591200"; d="scan'208";a="169415352" Received: from mail-vn0-f47.google.com ([209.85.216.47]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 08 Jul 2015 18:24:20 +0200 Received: by vnav203 with SMTP id v203so12659247vna.5 for ; Wed, 08 Jul 2015 09:24:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=/Jca2nvrC60TcCByGqHY3LJtPWlimBwafSO0mPRhwB8=; b=E6SCvUDvjn93dvFTJHOk8VPqam0detarKqKk/Rb/FP1SnabQrxen/xgE+4hT1JgQfV jJAsnp96gZrL5Cdat7qYX27Ko0DvhYslxFwUfQWy4CZU/5Q1u6ZMJGVHF51KBsevmocR HlyRtucJB1Exn9w+SqeVl1cofZQfOLIspIkVyMW72KfdjFsuZCnuYL6s3oaQ5HisMZ3g nXEQpcKcvyS3yMh/MhO0Em1UC7T/izUobBMHUKv4DHePPavA5oJSDrgdM8H2R7G+H3us y/qKG85pFmBf3khyd8aqwGi6cjNdnFOOcAaC3hnYNmx2JYeBbLAExN6AscbJK6GFyhZp mPWQ== X-Received: by 10.52.166.69 with SMTP id ze5mr10700461vdb.47.1436372659278; Wed, 08 Jul 2015 09:24:19 -0700 (PDT) MIME-Version: 1.0 Received: by 10.31.134.149 with HTTP; Wed, 8 Jul 2015 09:23:59 -0700 (PDT) From: Shayne Fletcher Date: Wed, 8 Jul 2015 12:23:59 -0400 Message-ID: To: "caml-list@inria.fr users" Content-Type: multipart/alternative; boundary=001a11c24eb21f197f051a5f926e Subject: [Caml-list] Build failures under Visual Studio 2015 solved --001a11c24eb21f197f051a5f926e Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Microsoft Visual Studio 2015 release candidate. This bundle contains msvc-14.0 for which `_MSC_VER` has the value 1900. (1) Patches to byterun/floats.c (a) #if defined (_MSC_VER) # include # if(MSC_VER < 1900) # define isnan _isnan # define isfinite _finite # endif/*(MSC_VER <=3D 1900)*/ #endif /*defined(_MSC_VER)*/ (b) void caml_init_ieee_floats(void) { ... #if defined(_MSC_VER) &&_MSC_VER < 1900 _set_output_format(_TWO_DIGIT_EXPONENT); #endif/*defined(_MSC_VER) &&_MSC_VER < 1900*/ } (2) Patch to byterun/misc.h /* snprintf emulation for Win32 */ #if defined(_WIN32) && defined(_MSC_VER) && _MSC_VER < 1900 extern int caml_snprintf(char * buf, size_t size, const char * format, ...); # define snprintf caml_snprintf #endif /*defined (_WIN32) && defined (_MSC_VER)&& _MSC_VER < 1900 */ (3) Rebuild flexdll objects with msvc-14.0 (in my case I am interested only in the 64-bit variants) cl.exe /nologo /MD -D_CRT_SECURE_NO_DEPRECATE /GS- /DMSVC -c /Fo"flexdll_msvc64.obj" flexdll.c cl.exe /nologo /MD -D_CRT_SECURE_NO_DEPRECATE /GS- /DMSVC -c /Fo"flexdll_initer_msvc64.obj" flexdll_initer.c (4) Patches to config/Makefile.msvc64 (refer http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal= -crt.aspx ): EXTRALIBS=3Dlegacy_stdio_wide_specifiers.lib legacy_stdio_definitions.lib vcruntime.lib ucrt.lib =E2=80=8B(5) Build the system make -f Makefile.nt world make -f Makefile.nt bootstrap make -f Makefile.nt opt make -f Makefile.nt opt.opt make -f Makefile.nt install =E2=80=8B --=20 Shayne Fletcher --001a11c24eb21f197f051a5f926e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Microsoft Visual St= udio 2015 release candidate. This bundle contains msvc-14.0 for which `_MSC= _VER` has the value 1900.

(1) Patches to byterun= /floats.c

(a)
=C2=A0 #if defined (_MSC_VER)= =C2=A0
=C2=A0 # =C2=A0include <float.h>
=C2=A0 = # =C2=A0if(MSC_VER < 1900)
=C2=A0 # =C2=A0 =C2=A0define isnan= _isnan
=C2=A0 # =C2=A0 =C2=A0define isfinite _finite
=C2=A0 # =C2=A0endif/*(MSC_VER <=3D 1900)*/
=C2=A0 #endif /*= defined(_MSC_VER)*/

(b)
=C2=A0 void = caml_init_ieee_floats(void)
=C2=A0 {
=C2=A0 =C2=A0 ...
=C2=A0 #if defined(_MSC_VER) &&_MSC_VER < 1900
=C2=A0 =C2=A0 _set_output_format(_TWO_DIGIT_EXPONEN= T);
=C2=A0 #endif/*defined(_MSC_VER) &= ;&_MSC_VER < 1900*/
=C2=A0 }
(2) Patch to byterun/misc.h

= =C2=A0 /* snprintf emulation for Win32 */

=C2=A0= #if defined(_WIN32) && defined(_MSC_VER) && _MSC_VER < = 1900
=C2=A0 extern int caml_snprintf(char * buf, size_t size, co= nst char * format, ...);
=C2=A0 # =C2=A0define snprintf caml_snp= rintf
=C2=A0 #endif /*defined (_WIN32) && defined (_MSC_= VER)&& _MSC_VER < 1900 */

(3) Rebuild= flexdll objects with msvc-14.0 (in my case I am interested only in the 64-= bit variants)

=C2=A0 cl.exe /nologo /MD -D_CRT_S= ECURE_NO_DEPRECATE /GS- /DMSVC =C2=A0-c /Fo"flexdll_msvc64.obj" f= lexdll.c
=C2=A0 cl.exe /nologo /MD -D_CRT_SECURE_NO_DEPRECATE /G= S- /DMSVC -c /Fo"flexdll_initer_msvc64.obj" flexdll_initer.c


=C2=A0 EXTRALIBS= =3Dlegacy_stdio_wide_specifiers.lib legacy_stdio_definitions.lib vcruntime.= lib ucrt.lib

=
=E2=80=8B(5) Build the system

=C2= =A0 =C2=A0 =C2=A0 =C2=A0 make -f Makefile.nt world
=C2=A0 =C2=A0 =C2=A0 =C2=A0 make -f Makefile.nt bootstrap
=C2=A0 =C2=A0 =C2=A0 =C2=A0 make -f Makefile.nt = opt
=C2=A0 =C2=A0 =C2=A0 =C2=A0 make -f M= akefile.nt opt.opt
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 make -f Makefile.nt install
=E2=80=8B
--
Shayne Fletcher
--001a11c24eb21f197f051a5f926e--