<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>FWIW:  All people I know – which is me and OpenSCG that build for windows use Mingw64 chain and that uses autoconf.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>I suspect PostGIS won't compile under VS or any other standard windows tooling without some serious helping. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>Even I think Mat Loskot who tried a while ago and some other guy, were using our CMake build, which is kind of haphazard and not fully functional to build and still required a lot of Unixy tooling to build the sql scripts etc.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>That said I don't care that much.  I'm pretty happy with Mingw64, it makes building not just PostGIS both other PostgreSQL extensions (e.g. PLV8, ogrfdw, http,  json (ANSI SQL extension thing),  much less painful than trying to do the same in VS.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in'><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'> postgis-devel [mailto:postgis-devel-bounces@lists.osgeo.org] <b>On Behalf Of </b>Paul Ramsey<br><b>Sent:</b> Friday, September 22, 2017 1:39 PM<br><b>To:</b> PostGIS Development Discussion <postgis-devel@lists.osgeo.org><br><b>Subject:</b> Re: [postgis-devel] use of strnicmp<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p><div><p class=MsoNormal style='margin-left:.5in'>There don't actually appear to be any calls to strnicmp in the .c files, so that whole chunk of header seems to be out-of-date. Maybe our windows build base moved in posix support to the point where it doesn't matter anymore. That still leaves questions of why you'd have any regression issues once you got build running though.<o:p></o:p></p><div><p class=MsoNormal style='margin-left:.5in'><br>P.<o:p></o:p></p></div></div><div><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p><div><p class=MsoNormal style='margin-left:.5in'>On Fri, Sep 22, 2017 at 10:04 AM, Greg Troxel <<a href="mailto:gdt@lexort.com" target="_blank">gdt@lexort.com</a>> wrote:<o:p></o:p></p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><div><p class=MsoNormal style='mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:.5in'><br>Greg Troxel <<a href="mailto:gdt@lexort.com">gdt@lexort.com</a>> writes:<br><br>> Building 2.3.3 on NetBSD, I am running into an error about strnicmp.<br>> There's a comment in the source about it:<br>><br>>   /* if we are in Unix define stricmp to be strcasecmp and strnicmp to */<br>>   /* be strncasecmp. I'm not sure if all Unices have these, but Linux */<br>>   /* does. */<br>><br>> In general, the right approach (in the Unix part of the world) is to<br>> look at the POSIX standards, and strongly prefer those.  strcasecmp is<br>> in POSIX, and dates from 4.4BSD, so it's been around a really long time<br>> (25 years?).  I have no idea about sticmp, but it seems to be an MS<br>> thing.<br>><br>> <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strcasecmp.html" target="_blank">http://pubs.opengroup.org/onlinepubs/9699919799/functions/strcasecmp.html</a><br>><br>> I haven't figured out why the defines aren't working, but it seems like<br>> the code should be based on HAVE_FOO, with some way to set those<br>> semi-manually on Windows (assuming the windows build doesn't use<br>> autoconf).<o:p></o:p></p></div></div><p class=MsoNormal style='margin-left:.5in'>The problem is that there are a bunch of ifdefs that define UNIX on a<br>number of operating systems, and further define LINUX on systems that<br>aren't Linux, but they don't cover everything.  This seems overly<br>complicated and wrong; a LINUX ifdef should be used only for things<br>where the POSIX approach doesn't work and some non-standard Linuxism has<br>to be used.<br><br>As I understand it, there is windows that probably doesn't use autoconf,<br>and then a wide variety of almost-entirely POSIX systems that do.  So it<br>seems like the right thing is to get rid of #ifdef UNIX and instead to<br>use #ifndef WINDOWS, for the right value of windows.<br><br>After removing the #ifdef UNIX around the code that defines stricmp to<br>strcasecmp, raster builds, but some of the tests fail.<br><br>I haven't looked at 2.4.0 in this regard yet.  I just noticed a failure<br>of 2.3.3 as we prepare for the next pkgsrc branch.  It must have worked<br>when I updated, but perhaps UNIX was defined in the environment for some<br>reason and now isn't.<br><br>_______________________________________________<br>postgis-devel mailing list<br><a href="mailto:postgis-devel@lists.osgeo.org">postgis-devel@lists.osgeo.org</a><br><a href="https://lists.osgeo.org/mailman/listinfo/postgis-devel" target="_blank">https://lists.osgeo.org/mailman/listinfo/postgis-devel</a><o:p></o:p></p></blockquote></div><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p></div></div></body></html>