Closed Bug 487754 Opened 15 years ago Closed 15 years ago

Problems building qcms

Categories

(Core :: Graphics: Color Management, defect)

All
FreeBSD
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: mpk, Assigned: mpk)

References

Details

(Keywords: fixed1.9.1)

Attachments

(1 file, 1 obsolete file)

+++ This bug was initially created as a clone of Bug #487566 +++

Similar to OS/2 FreeBSD typedefs uintptr_t as well (but it does in
/usr/include/sys/types.h). This leads to the following error (excerpt
from the buildlog):

...
gmake[6]: Entering directory `/work/build/suite/mozilla/gfx/qcms'
iccread.c
gcc -o iccread.o -c -I../../dist/include/system_wrappers -include /work/src/mozilla/config/gcc_hidden.h -DMOZILLA_INTERNAL_API -DMOZ_SUITE=1 -DSUITE_USING_XPFE_DM=1 -DOSTYPE=\"FreeBSD7\" -DOSARCH=FreeBSD  -I/work/src/mozilla/gfx/qcms -I.  -I../../dist/include   -I../../dist/include/qcms -I/work/build/suite/mozilla/dist/include/nspr    -I/work/build/suite/mozilla/dist/sdk/include -I/usr/local/include   -fPIC -I/usr/local/include  -I/usr/local/include -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -W -Wno-long-long -pedantic -fno-strict-aliasing -pipe  -DNDEBUG -DTRIMMED -O -DMOZ_QCMS  -I/usr/local/include  -I/usr/local/include -include ../../mozilla-config.h -DMOZILLA_CLIENT -Wp,-MD,.deps/iccread.pp /work/src/mozilla/gfx/qcms/iccread.c
/work/src/mozilla/gfx/qcms/iccread.c:1:1: warning: C++ style comments are not allowed in ISO C90
/work/src/mozilla/gfx/qcms/iccread.c:1:1: warning: (this will be reported only once per input file)
In file included from /work/src/mozilla/gfx/qcms/qcmsint.h:2,
                 from /work/src/mozilla/gfx/qcms/iccread.c:26:
/work/src/mozilla/gfx/qcms/qcms.h:75: warning: ISO C restricts enumerator values to range of 'int'
In file included from /work/src/mozilla/gfx/qcms/qcmsint.h:2,
                 from /work/src/mozilla/gfx/qcms/iccread.c:26:
/work/src/mozilla/gfx/qcms/qcms.h:97:1: warning: C++ style comments are not allowed in ISO C90
/work/src/mozilla/gfx/qcms/qcms.h:97:1: warning: (this will be reported only once per input file)
In file included from /work/src/mozilla/gfx/qcms/qcmsint.h:3,
                 from /work/src/mozilla/gfx/qcms/iccread.c:26:
/work/src/mozilla/gfx/qcms/qcmstypes.h:16: error: conflicting types for 'uintptr_t'
/usr/include/sys/types.h:105: error: previous declaration of 'uintptr_t' was here
In file included from /work/src/mozilla/gfx/qcms/iccread.c:26:
/work/src/mozilla/gfx/qcms/qcmsint.h:64: warning: ISO C forbids zero-size array 'data'
In file included from /work/src/mozilla/gfx/qcms/iccread.c:26:
/work/src/mozilla/gfx/qcms/qcmsint.h:91:33: warning: missing terminating ' character
/work/src/mozilla/gfx/qcms/qcmsint.h:104:4: warning: C++ style comments are not allowed in ISO C90
/work/src/mozilla/gfx/qcms/qcmsint.h:104:4: warning: (this will be reported only once per input file)
/work/src/mozilla/gfx/qcms/iccread.c: In function 'read_tag_table':
/work/src/mozilla/gfx/qcms/iccread.c:220: warning: comparison between signed and unsigned
/work/src/mozilla/gfx/qcms/iccread.c: In function 'find_tag':
/work/src/mozilla/gfx/qcms/iccread.c:286: warning: comparison between signed and unsigned
/work/src/mozilla/gfx/qcms/iccread.c: In function 'read_tag_XYZType':
/work/src/mozilla/gfx/qcms/iccread.c:301: warning: missing initializer
/work/src/mozilla/gfx/qcms/iccread.c:301: warning: (near initialization for 'num.Y')
/work/src/mozilla/gfx/qcms/iccread.c: In function 'read_tag_curveType':
/work/src/mozilla/gfx/qcms/iccread.c:343: warning: comparison between signed and unsigned
gmake[6]: *** [iccread.o] Error 1
gmake[6]: Leaving directory `/work/build/suite/mozilla/gfx/qcms'
...

Please note that the attached patch depends upon the one for os/2
(bug 487566, attachment 371871 [details] [diff] [review]) already being applied.
Attachment #372013 - Flags: review?(jmuizelaar)
Marco, did you mean bug 481296, a TraceMonkey bug?

/be
Ooops, no. Sorry. It's bug 481926.
Blocks: 481926
No longer blocks: 481296
Comment on attachment 372013 [details] [diff] [review]
freebsd patch (avoids redefining uintptr_t, mozilla-central)

>diff --git a/gfx/qcms/qcmstypes.h b/gfx/qcms/qcmstypes.h
>--- a/gfx/qcms/qcmstypes.h
>+++ b/gfx/qcms/qcmstypes.h
>@@ -13,18 +13,20 @@ typedef PRInt32 int32_t;
> typedef PRUint32 uint32_t;
> typedef PRInt64 int64_t;
> typedef PRUint64 uint64_t;
> 
> #ifdef __OS2__
> /* OS/2's stdlib typdefs uintptr_t. So we'll just include that so we don't collide */
> #include <stdlib.h>
> #else
>+#ifndef __FreeBSD__
> typedef PRUptrdiff uintptr_t;
> #endif
>+#endif

I'd prefer something like this:

#ifdef __OS2__
/* OS/2's stdlib typdefs uintptr_t. So we'll just include that so we don't collide */
#include <stdlib.h>
#elif defined(__FreeBSD__)
/* Similar to OS/2 FreeBSD typedefs uintptr_t as well (but it does in /usr/include/sys/types.h */
#else
typedef PRUptrdiff uintptr_t;
#endif
Attachment #372013 - Flags: review?(jmuizelaar) → review-
New version of the patch based upon the suggestion from comment #3.
Attachment #372013 - Attachment is obsolete: true
Attachment #372092 - Flags: review?(jmuizelaar)
Comment on attachment 372092 [details] [diff] [review]
freebsd patch v2 (mozilla-central)

Looks good
Attachment #372092 - Flags: review?(jmuizelaar) → review+
Keywords: checkin-needed
Blocks: 352822
http://hg.mozilla.org/mozilla-central/rev/ed90488b4d79
Status: NEW → RESOLVED
Closed: 15 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: