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