On 9/2/12 9:08 AM, Jack Howarth wrote:
> On Sat, Sep 01, 2012 at 05:00:23PM -0400, Hanspeter Niederstrasser wrote:
>> On 8/31/2012 8:36 PM, Jack Howarth wrote:
>>>     Why exactly are we building the entirety of gettext-tools at -O0
>>> in 10.7 branch when only a single source file, xgettext.c, is problematic on
>>> older clang? The previous patch that applied -O4 to the compilation of 
>>> xgettext.c,
>>> should work fine using -O0 instead for just that file.
>>>
>>>
>>> --- gettext-0.18.1.1/gettext-tools/src/Makefile.in.orig     2012-08-31 
>>> 20:21:15.000000000 -0400
>>> +++ gettext-0.18.1.1/gettext-tools/src/Makefile.in  2012-08-31 
>>> 20:22:03.000000000 -0400
>>> @@ -2357,11 +2357,11 @@
>>>
>>>   xgettext-xgettext.o: xgettext.c
>>>     $(AM_V_CC) @AM_BACKSLASH@
>>> -   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xgettext_CPPFLAGS) 
>>> $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xgettext-xgettext.o `test -f 
>>> 'xgettext.c' || echo '$(srcdir)/'`xgettext.c
>>> +   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xgettext_CPPFLAGS) 
>>> $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -O0 -c -o xgettext-xgettext.o `test -f 
>>> 'xgettext.c' || echo '$(srcdir)/'`xgettext.c
>>>
>>>   xgettext-xgettext.obj: xgettext.c
>>>     $(AM_V_CC) @AM_BACKSLASH@
>>> -   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xgettext_CPPFLAGS) 
>>> $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xgettext-xgettext.obj `if test -f 
>>> 'xgettext.c'; then $(CYGPATH_W) 'xgettext.c'; else $(CYGPATH_W) 
>>> '$(srcdir)/xgettext.c'; fi`
>>> +   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xgettext_CPPFLAGS) 
>>> $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -O0 -c -o xgettext-xgettext.obj `if test 
>>> -f 'xgettext.c'; then $(CYGPATH_W) 'xgettext.c'; else $(CYGPATH_W) 
>>> '$(srcdir)/xgettext.c'; fi`
>>>
>>>   xgettext-x-c.o: x-c.c
>>>     $(AM_V_CC) @AM_BACKSLASH@
>>
>> Jack, building on 10.7 with Xcode 4.1, and this patch so that only  
>> xgettext gets -O0, this test fails:
>>
>> PASS: format-scheme-1
>> PASS: format-scheme-2
>> Format string recognition error:
>> gettext "abc\${}";
>> Got:
>> # SOME DESCRIPTIVE TITLE.
>> # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
>> # This file is distributed under the same license as the PACKAGE package.
>> # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
>> #
>> #, fuzzy
>> msgid ""
>> msgstr ""
>> "Project-Id-Version: PACKAGE VERSION\n"
>> "Report-Msgid-Bugs-To: \n"
>> "POT-Creation-Date: 2012-09-01 16:49-0400\n"
>> "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
>> "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
>> "Language-Team: LANGUAGE <l...@li.org>\n"
>> "Language: \n"
>> "MIME-Version: 1.0\n"
>> "Content-Type: text/plain; charset=CHARSET\n"
>> "Content-Transfer-Encoding: 8bit\n"
>>
>> #: f-sh-1-11.in:1
>> #, sh-format
>> msgid "abc${}"
>> msgstr ""
>> FAIL: format-sh-1
>> PASS: format-sh-2
>>
>> Hanspeter
> 
> Hanspeter.
>    Did you see the same failure with clang from Xcode 4.2 with the previous
> gettext-tools release? If not, the newer gettext-tools is just showing yet
> more codegen bugs in the older clang and is yet another reason to use a 
> BuildDepends: xcode (>=4.2). If you go that route, I would even consider
> bumping it up to BuildDepends: xcode (>=4.4).
>          Jack
> 

How do we handle this at bootstrap, then?  I just did a test where I set
the BuildDepends of gettext-tools in the fink tarball to xcode >= 4.5
(since I have 4.4) and this was ignored rather than failing.  This means
we would either need to:

1)  Allow the package to build with earlier Xcodes (since a test failure
isn't triggered), but then have an updated revision in the distribution
which forces a rebuild after bootstrap.  This would be annoying for
users with new Xcodes, and users with 4.1 would be informed that they
have to install a newer version only when they do  their first selfupdate.

2) Raise the minimum Xcode version for the entire bootstrap.
-- 
Alexander Hansen, Ph.D.
Fink User Liaison
My package updates: http://finkakh.wordpress.com/

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
List archive:
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to