Rev 61 | Rev 108 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
60 | peter | 1 | |
107 | dmarschall | 2 | BUILDING FILTER FOUNDRY ON OPENWATCOM |
3 | by Peter Heckert and Daniel Marschall |
||
60 | peter | 4 | |
107 | dmarschall | 5 | Most recently tested with OpenWatcom 1.9 with Adobe Photoshop SDK CC 2017 |
60 | peter | 6 | |
107 | dmarschall | 7 | |
8 | Prerequisites: |
||
9 | ================ |
||
10 | |||
11 | 1) Flex and Bison |
||
12 | Available here: |
||
13 | https://sourceforge.net/projects/winflexbison/ |
||
14 | |||
15 | 2) Adobe Photoshop SDK |
||
16 | Available on some Photoshop CDs, or can be downloaded at |
||
17 | https://www.adobe.com/devnet/photoshop/sdk.html |
||
18 | |||
61 | peter | 19 | 3) Watcom 1.6beta RC1 or later |
60 | peter | 20 | Available here: |
107 | dmarschall | 21 | http://www.openwatcom.org/ |
60 | peter | 22 | |
61 | peter | 23 | 4) SVN client |
60 | peter | 24 | After installing Watcom get the command line svn client: |
107 | dmarschall | 25 | https://tortoisesvn.net/index.de.html |
60 | peter | 26 | After installing all these reboot, or set the environment manually |
27 | |||
107 | dmarschall | 28 | |
29 | How to get FilterFoundry: |
||
60 | peter | 30 | =========================== |
31 | |||
32 | Make a directory anywhere for telegraphics plugins, remember, no spaces in pathname |
||
33 | cd into the directory. |
||
34 | type |
||
107 | dmarschall | 35 | svn checkout https://www.telegraphics.com.au/svn/common/trunk common |
36 | svn checkout https://www.telegraphics.com.au/svn/filterfoundry/trunk filterfoundry |
||
60 | peter | 37 | |
107 | dmarschall | 38 | |
39 | Build setup: |
||
40 | ============== |
||
41 | |||
60 | peter | 42 | Hint: |
43 | If you never used Watcom to build Photoshop plugins best start with the |
||
44 | countcolours plugin and ensure it compiles. Read the HowTo. |
||
107 | dmarschall | 45 | Look for it at https://www.telegraphics.com.au/sw/ or get it with |
46 | svn checkout https://www.telegraphics.com.au/svn/countcolours/trunk countcolours |
||
60 | peter | 47 | |
107 | dmarschall | 48 | 1. Open filterfoundry.wpj in Watcom's IDE. |
60 | peter | 49 | |
107 | dmarschall | 50 | 2. In menu File->Before set the path to your Photoshop SDK, |
51 | Flex and Bison. |
||
52 | If this doesn't work (there seem to be a bug in OpenWatcom 1.9 where you can only make the |
||
53 | text smaller, but not bigger), you have to edit the WPJ file with an text editor. |
||
54 | Remember how many characters you have added or deleted, and subtract or add them |
||
55 | to the number written above the before-instructions (currently 445). |
||
60 | peter | 56 | |
107 | dmarschall | 57 | 3. Thats all, you can build the project then. |
58 | |||
59 | |||
60 | Troubleshooting: |
||
61 | ================== |
||
62 | |||
63 | - If you get the error message "Fatal Error! 62: Unable to open 'sdkddkver.h'", please open |
||
64 | pluginsdk\photoshopapi\photoshop\PITypes.h in your Adobe Photoshop SDK and |
||
65 | comment out the line "#include <sdkddkver.h> // for WINVER", |
||
66 | or use an older Photoshop SDK. |
||
67 | |||
68 | - It is important that the correct calling convention is used. |
||
69 | The calling convention needs to be set in |
||
70 | Options -> C Compiler Switches -> Memory Model and Processor Switches. |
||
71 | There, select "Pentium Pro stack-based calling" (default is "Pentium Pro register based calling"). |
||
72 | The wpj project should already have this setting applied. |
||
73 | |||
74 | - If you receive the error message "lex.yy.c(580): Error! E1009: Expecting ';' but found '1'", |
||
75 | check if the compiler directive "YY_SKIP_YYWRAP" is set. |
||
76 | Go to Options -> C Compiler Switches -> Source switches , and add YY_SKIP_YYWRAP=1 . |
||
77 | The wpj project should already have this setting applied. |
||
78 | |||
79 | |||
60 | peter | 80 | Remarks |
81 | ========= |
||
82 | |||
83 | flex and bison are currently invoked as batch process. |
||
84 | This is defined in the menu File->Before. |
||
85 | The ide fails to build the project when filenames contain more than one dot. |
||
61 | peter | 86 | Therefore the output files of bison and lex are renamed. |
60 | peter | 87 | There is no error checking done. |
88 | Probably it would be better to write a small wmake file for this purpose. |