Re: Latest GTK Compiling Notes




Art_Haas@dril-quip.com (Art HAAS) writes:

>      I sent this mail directly to you and not the gtk-list because I still 
>      seem to have problems getting mail sent to that address.

This seems to be a persistant problem for a number of people

>      
>      A quick background - I grabbed the latest gtk cvs release available by 
>      ftp - gtk-cvs-971208 - I'm using gcc 2.7.2.3, binutils 2.8.1, and 
>      running on HP-UX 9.05.
[ ... ]
>      I had two other problems that I haven't read about in the mailing list 
>      archives.
>      
>      1) The 'sed' script that fishes out the keysym "#define"s also picked 
>      up a stray "#if" statement in '/usr/include/X11R5/X11/keysymdef.h'. On 
>      my system, there is a line
>      
>      #if defined(__hpux) || defined(__apollo) || defined(__hp_osf)
>      
>      which the sed script does not delete. My fix is pretty simple - change
>      
>      /define/ ! d
>      
>      to
>      
>      /define[^d]/ ! d
>      
>      I'd like to suggest something like
>      
>      awk '$1 == "#define" && NF >= 3 {
>         sub(/^.*XK_/,"GDK",$2)
>         sub(/0X/,"0x",$3)
>         print $1,$2,$3
>      }
>      
>      something like the quick awk script should work with most systems, and 
>      awk is a little slicker (my $0.02).

That does look nicer. (It is however, also about 40% slower, a whole
0.3 seconds!)

With a minor modification, I've come up with the following:

=== makekeysyms.awk ===
$1 == "#define" && NF >= 3 {
    sub(/^XK/,"GDK",$2)
    sub(/0X/,"0x",$3)
    print $1,$2,$3
}
===

and, correspondingly:

=== makecursors.awk ===
$1 == "#define" && NF >= 3 {
    sub(/^XC/,"GDK",$2)
    printf("%s = %s,\n",toupper($2),$3)
}
===

>      2) iswalnum() is provided on my system (via wchar.h), so in gdki18n.h, 
>      the block
>      
>      #if defined(HAVE_WCTYPE_H) && !defined(X_LOCALE)
>      #  include <wctype.h>
>      #else
>      #  define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
>      #endif
>      
>      had to be changed to
>      
>      #if defined(HAVE_WCTYPE_H) && !defined(X_LOCALE)
>      #  include <wctype.h>
>      #endif
>      
>      I was getting errors when 'wchar.h' was being input after this. This 
>      may already be dealt with, andI hesitate to suggest putting this in 
>      the gtk source yet - it seems that there will be a few changes 
>      regarding wide characters it the next official release. I guess that's 
>      why there are developer versions available. :-)

Hmmm, looks like more extensive configure tests are needed. (The
iswalnum definition is needed, since some libraries don't have
it, and the C libraries iswalnum can't be used with X_LOCALE. )

Thanks for the report,
                                        Owen



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]