Re: [pcre-dev] Here is pcre-7.1-RC2 for you to play with

Góra strony
Delete this message
Autor: Sheri
Data:  
Dla: pcre-dev
Nowe tematy: [pcre-dev] Replies to many
Temat: Re: [pcre-dev] Here is pcre-7.1-RC2 for you to play with
Bob Rossi wrote:
> On Wed, Mar 21, 2007 at 11:46:37AM -0400, Sheri wrote:
>
>> Philip Hazel wrote:
>>
>>> On Wed, 21 Mar 2007, Sheri wrote:
>>>
>>>> creating pcredemo.exe
>>>> make[2]: Leaving directory `/C/pcre-7.1-RC2'
>>>> make[1]: Leaving directory `/C/pcre-7.1-RC2'
>>>> make check-TESTS
>>>> make[1]: Entering directory `/C/pcre-7.1-RC2'
>>>> make[1]: *** [check-TESTS] Interrupt
>>>> make: *** [check-am] Interrupt
>>>>
>>>> Unless I resolve this, I will send my testoutput files. To get them, I
>>>> put the libraries, pcretest.exe and the testdata dir into a directory
>>>> and ran RunTest.bat there.
>>>>
>>>>
>>> Can't help you, I'm afraid. I live in a Unixy world (never ever used
>>> Windows).
>>>
>>>
>> Hope you can help with the "make check" problem. Msys is Unixy world on
>> Windows :)
>>
>
> Yes, I also had this hanging problem. I thought it was something wrong
> with my setup, so didn't mention it. Essentially, I use Kpym,
> http://www.kpym.com/en/Overview.htm, to ssh into the windows box.
> Then I run msys's bash from the cmd shell.
>
> When I run 'make check' it effects my terminal somehow cause it seems
> to resize. Then I kill it with ^c, and the terminal is in an odd state.
> I have to kill it and start over.
>

make check hangs for me even if it is the first thing I run in the Msys
cmd shell.

It fails after recreating the .exe files (which are already there
because I had run "make" before "make check")
> I thought maybe 'make check' was writing some bad data to stdout, which
> the terminal was receiving, but, when I did 'make check > out.txt 2>&1'
> it didn't help. So, this could be the same problem...
>
>
>>>
>>>
>>>> BTW, the dll libraries get different names out of 7.2 RC2 than 7.0 and
>>>> 6.7 (configured in msys). I am accustomed to seeing "pcre.dll" and
>>>> "pcreposix.dll". With 7.2 RC2 I am getting libpcre-0.dll and
>>>> libpcreposix-0.dll.
>>>>
>>>>
>>> Can't help there either, but maybe someone else on this list can.
>>>
>>>
>> Yes I hope so. Also have another issue. I was previously able (when
>> making pcre 6.7 and 7.0) to include a .coff file (produced with windres
>> from a pcre.rc file I created) in Makefile.in so that the pcre.dll file
>> contained version and copyright info. Linking with the .coff file makes
>> the dll library display version info when mouse-hovered in Windows
>> explorer, and show more detailed info in file properties.
>>
>> The .coff file went here (in the old Makefile.in). There is no such
>> thing in the new Makefile.in.
>>
>> This naming issue is probably the reason the .exe files wouldn't get
>> made in the old versions.
>>
>> Don't know where to put the coff file reference in the new Makefile.in.
>> Suspect if I copied the info below into 7.2RC2's Makefile.in I might get
>> a library named pcre.dll, though.
>>
>> # Some Windows-specific targets for MinGW. Do not use for Cygwin.
>>
>> winshared : .libs/@WIN_PREFIX@??? .libs/@WIN_PREFIX@??? \
>>         .libs/@WIN_PREFIX@???

>>
>> .libs/@WIN_PREFIX@??? : libpcre.la
>>     $(CC) $(CFLAGS) -shared -o $@ pcre.coff\
>>     -Wl,--whole-archive .libs/libpcre.a \
>>     -Wl,--out-implib,.libs/libpcre.dll.a \
>>     -Wl,--output-def,.libs/@WIN_PREFIX@??? \
>>     -Wl,--export-all-symbols \
>>     -Wl,--no-whole-archive
>>     sed -e "s#dlname=''#dlname='../bin/@WIN_PREFIX@???'#" \
>>     -e "s#library_names=''#library_names='libpcre.dll.a'#" \
>>     < .libs/libpcre.lai > .libs/libpcre.lai.tmp && \
>>     mv -f .libs/libpcre.lai.tmp .libs/libpcre.lai
>>     sed -e "s#dlname=''#dlname='../bin/@WIN_PREFIX@???'#" \
>>     -e "s#library_names=''#library_names='libpcre.dll.a'#" \
>>     < libpcre.la > libpcre.la.tmp && \
>>     mv -f libpcre.la.tmp libpcre.la

>>
>
>
> This was definately lost. What is the exact command that you need to be
> run to generate the .coff file? If you tell us this, we can probably
> have automake do this for you automatically.
>

To make the coff file, you need windres.exe which is in my MinGW/bin
directory.

I start with an .rc file which I concocted from something I saw online.
I run my rc through windres (in the Msys shell) to make a compatible rc
file:

$ windres slppcre.rc pcre.rc

Then I make the coff file like this:

$ cd pcre-7.0
$ windres ../pcre.rc pcre.coff

(which puts the coff file in the same place as everything else for
making pcre.dll)

This what my original slppcre.rc file looks like:

1 VERSIONINFO
FILEVERSION 7, 0, 0, 0
PRODUCTVERSION 0, 0, 0, 0
FILEFLAGSMASK 0
FILEOS 0x40000
FILETYPE 1
{
BLOCK "StringFileInfo"
{
BLOCK "040904E4"
{
VALUE "FileDescription", "pcre w utf8 ucp no-stack newline-any"
VALUE "LegalCopyright", "refer to license"
VALUE "FileVersion", "use with PowerPro plugins"
VALUE "License", "PCRE is a library of functions to support regular
(truncating because email is going to add linebreaks...)"
VALUE "WWW", "http://www.pcre.org"
}
}
}


I would be happy to zip up slppcre.rc, pcre.rc and pcre.coff if anyone
want them. We could update the file version and use a generic
FileDescription so a coff file could be included with the pcre distro. I
think for the CMake process, the original rc could be utilized.

Regards,
Sheri