Re: [pcre-dev] Yet Another RC

Top Page
Delete this message
Author: Sheri
Date:  
To: pcre-dev
Subject: Re: [pcre-dev] Yet Another RC
(sorry same message also accidentally went private)

Craig Silverstein wrote:
> } Am attaching the complete config.h that targets Msys.
>
> OK, let's make sure there's no confusion. There are three
> environments in question here:
>
> 1) cmake with msys
>

Everything builds hunky dory in option 1
> 2) cmake with vc++
>

pcre_scanner_unittest.cc does not compile, because of problems with
snprintf in option 2
> 3) configure with msys
>

get this "making" after configuring with option 3:

g++ -DHAVE_CONFIG_H -I. -I../pcre-7.4-RC3 -O2 -MT pcrecpp.lo -MD -MP
-MF .deps/pcrecpp.Tpo -c ../pcre-7.4-RC3/pcrecpp.cc  -DDLL_EXPORT -DPIC
-o .libs/pcrecpp.o
In file included from
c:/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/bits/stl_algobase.h:67,
                 from
c:/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/bits/char_traits.h:46,
                 from
c:/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/string:47,
                 from ../pcre-7.4-RC3/pcrecpp.cc:48:
c:/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/cstdlib:177: 


error: `::strtoll' has not been declared
c:/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/cstdlib:178:

error: `::strtoull' has not been declared
c:/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/cstdlib:198:

error: `__gnu_cxx::strtoll' has not been declared
c:/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/cstdlib:199:

error: `__gnu_cxx::strtoull' has not been declared
../pcre-7.4-RC3/pcrecpp.cc: In static member function `static bool
pcrecpp::Arg::parse_longlong_radix(const char*, int, void*, int)':
../pcre-7.4-RC3/pcrecpp.cc:770: error: `strtoq' undeclared (first use
this function)
../pcre-7.4-RC3/pcrecpp.cc:770: error: (Each undeclared identifier is
reported only once for each function it appears in.)
../pcre-7.4-RC3/pcrecpp.cc: In static member function `static bool
pcrecpp::Arg::parse_ulonglong_radix(const char*, int, void*, int)':
../pcre-7.4-RC3/pcrecpp.cc:797: error: `strtouq' undeclared (first use
this function)
make[1]: *** [pcrecpp.lo] Error 1
make[1]: Leaving directory `/c/pcre-7.4/buildRC3Msys'
make: *** [all] Error 2

> This file is made by hand, right, as part of the disteribution? It
> seems like it's out of date, because it doesn't have HAVE_WINDOWS_H --
> it should have it one way or the other, either #define'd or commented
> out.
>

When you run cmakesetup, you identify a source directory, build
directory and target build type (it lets you choose from a mutually
exclusive list, I've used Msys/Mingw and Visual Studio 8 2005). Then it
presents and lets you change various pcre settings via a gui dialog
window. It appears to me that the initial info comes from CMakeLists.txt
and config-cmake.h.in in the pcre source dir. Those are the two files I
had to modify to be able to set Newline of ANYCRLF and BSR-ANYCRLF
options, but otherwise mine are like those in the distro. The config.h
file in the previous message came from my CMake Msys Build directory.
All pcre components (including scanner unittest) got successfully built
there when I ran "make".


> Is there anything else in config.h.in that's not in the cmake
> config.h?
>
> My understanding is cmake support isn't done yet, so I'm not surprised
> if cmake doesn't work in various environments. I'm more concerned
> about running configure under msys.

I don't think you should fix the configure result disregarding what
happens in CMake. Stuff that used to work for Windows users doesn't work
anymore and they are being told to use CMake. You should try it. It
should work in Unix environments too.

Regards,
Sheri