1 | OPERATING SYSTEM SPECIFIC POWERPC DETECTION
|
---|
2 | --------------------------------------------
|
---|
3 |
|
---|
4 | Detection of the ability to execute POWERPC on processor requires
|
---|
5 | operating system support. (The information is not available in user mode.)
|
---|
6 |
|
---|
7 | Currently only this feature is supported only for linux platform.
|
---|
8 |
|
---|
9 | HOW TO USE THIS
|
---|
10 | ---------------
|
---|
11 |
|
---|
12 | This directory contains C code fragments that can be included in powerpc/powerpc_init.c
|
---|
13 | by setting the macro PNG_POWERPC_VSX_FILE to the file name in "" or <> at build
|
---|
14 | time. This setting is not recorded in pnglibconf.h and can be changed simply by
|
---|
15 | rebuilding arm/arm_init.o with the required macro definition.
|
---|
16 |
|
---|
17 | For any of this code to be used the POWERPC code must be enabled and run time
|
---|
18 | checks must be supported. I.e.:
|
---|
19 |
|
---|
20 | #if PNG_POWERPC_VSX_OPT > 0
|
---|
21 | #ifdef PNG_POWERPC_VSX_CHECK_SUPPORTED
|
---|
22 |
|
---|
23 | This is done in a 'configure' build by passing configure the argument:
|
---|
24 |
|
---|
25 | --enable-powerpc-vsx=check
|
---|
26 |
|
---|
27 | FILE FORMAT
|
---|
28 | -----------
|
---|
29 |
|
---|
30 | Each file documents its testing status as of the last time it was tested (which
|
---|
31 | may have been a long time ago):
|
---|
32 |
|
---|
33 | STATUS: one of:
|
---|
34 | SUPPORTED: This indicates that the file is included in the regularly
|
---|
35 | performed test builds and bugs are fixed when discovered.
|
---|
36 | COMPILED: This indicates that the code did compile at least once. See the
|
---|
37 | more detailed description for the extent to which the result was
|
---|
38 | successful.
|
---|
39 | TESTED: This means the code was fully compiled into the libpng test programs
|
---|
40 | and these were run at least once.
|
---|
41 |
|
---|
42 | BUG REPORTS: an email address to which to send reports of problems
|
---|
43 |
|
---|
44 | The file is a fragment of C code. It should not define any 'extern' symbols;
|
---|
45 | everything should be static. It must define the function:
|
---|
46 |
|
---|
47 | static int png_have_vsx(png_structp png_ptr);
|
---|
48 |
|
---|
49 | That function must return 1 if POWERPC_VSX instructions are supported, 0 if not.
|
---|
50 | It must not execute png_error unless it detects a bug. A png_error will prevent
|
---|
51 | the reading of the PNG and in the future, writing too.
|
---|
52 |
|
---|
53 | BUG REPORTS
|
---|
54 | -----------
|
---|
55 |
|
---|
56 | If you mail a bug report for any file that is not SUPPORTED there may only be
|
---|
57 | limited response. Consider fixing it and sending a patch to fix the problem -
|
---|
58 | this is more likely to result in action.
|
---|
59 |
|
---|
60 | CONTRIBUTIONS
|
---|
61 | -------------
|
---|
62 |
|
---|
63 | You may send contributions of new implementations to
|
---|
64 | png-mng-implement@sourceforge.net. Please write code in strict C90 C where
|
---|
65 | possible. Obviously OS dependencies are to be expected. If you submit code you
|
---|
66 | must have the authors permission and it must have a license that is acceptable
|
---|
67 | to the current maintainer; in particular that license must permit modification
|
---|
68 | and redistribution.
|
---|
69 |
|
---|
70 | Please try to make the contribution a single file and give the file a clear and
|
---|
71 | unambiguous name that identifies the target OS. If multiple files really are
|
---|
72 | required put them all in a sub-directory.
|
---|
73 |
|
---|
74 | You must also be prepared to handle bug reports from users of the code, either
|
---|
75 | by joining the png-mng-implement mailing list or by providing an email for the
|
---|
76 | "BUG REPORTS" entry or both. Please make sure that the header of the file
|
---|
77 | contains the STATUS and BUG REPORTS fields as above.
|
---|
78 |
|
---|
79 | Please list the OS requirements as precisely as possible. Ideally you should
|
---|
80 | also list the environment in which the code has been tested and certainly list
|
---|
81 | any environments where you suspect it might not work.
|
---|