Subversion Repositories filter_foundry

Compare Revisions

Regard whitespace Rev 220 → Rev 221

/trunk/BUILDING.md
0,0 → 1,118
Building the Filter Foundry plugin for Photoshop
------------------------------------------------
 
Notes on source code
--------------------
Source code, makefiles and IDE projects under GPL license are provided
for MPW (Classic & Carbon PowerPC targets), CodeWarrior 7
(Classic & Carbon PowerPC, Win32, 68K targets),
Microsoft Visual C++ (Win32 target), OpenWatcom (Win32 target),
and mingw32 (Win32 target).
 
A Photoshop SDK is required (available from Adobe Systems,
https://www.adobe.com/devnet/photoshop/sdk.html ).
The SDK was also distributed with Photoshop 6.0 and earlier.
The source code has been built with SDK 6.0, CS2, CS3 beta, and CC 2017 but older
versions should work, too.
(If building with SDK v4, edit 68k.r, carbon.r, classic.r, and PiMI_68k.r
to remove references to "PIResDefines.h", "PiPL.r" and "PiMI.r" and replace
with a single #include "PIGeneral.r"; also remove "fmtCanWriteTransparency"
from PiPL_common.r.)
 
The dependency "telegraphics_common" is available here
http://www.telegraphics.com.au/svn/common/
Revision 84 (dated 9 October 2019) is included in this repository
to simplify the build process.
 
 
Mac notes
---------
Before attempting to build, you must edit the makefiles
("FilterFoundry.make" for MPW), or change your
CodeWarrior project's access paths, to reflect the SDK's installed location.
 
To build the Carbon plugin with an SDK prior to version 7.0,
it is necessary to edit the SDK file
 
:PhotoshopAPI:Resources:PIPL.r
 
as follows:
1. find the line "case CodePowerPC:"
2. duplicate the next 15 lines
3. in the copy only, change "case CodePowerPC:" to "case CodeCarbonPowerPC:"
and change the 5 occurrences of "pwpc" to "ppcb"
 
Photoshop 7.0, CS, and CS2 will load Carbon/PEF plugins built in this manner.
Only CodeWarrior and MPW can build these.
 
Photoshop CS2 also supports Mach-O format plugins. For details on how
these are built, see the Makefile.mac (target "osx").
 
Photoshop CS3 supports "universal" (or "fat") plugins having native code
for both PowerPC and Intel architectures. The provided Makefile.mac can build
a "universal" plugin if you have the CS3 "Beta" SDK (use target "fat").
 
Note that building Mach-O plugins requires Apple's Developer Tools
to be installed (from the DVD that came with your Mac, or downloaded from
http://developer.apple.com/ if you have an ADC login).
 
The Mac build requires Apple's MoreFiles library, which can be obtained via
https://developer.apple.com/library/archive/samplecode/MoreFiles/
 
Depending on how the source files were extracted, it may be necessary to set
the correct Mac file types before attempting to build. In MPW, this can
be done as follows. First set the current directory to the Filter Foundry
source directory, then:
 
setfile -t TEXT Å.[chrly] Å.make Å.rc ::common:tt:Å ::common:adobeplugin:Å
 
This can also be necessary after regenerating y.tab.c and lex.yy.c.
These files are generated from the parser and lexical analyzer definitions,
parser.y and lexer.l, by a UNIX Terminal (not MPW!) command such as:
 
make y.tab.c lex.yy.c
 
If building with MPW, finished binaries are left in the "debug" directory;
these are good for testing and debugging, as they can be updated
and re-run without having to re-launch Photoshop.
 
The finished binary, which contains executables for Classic and Carbon,
is left in the "dist" directory.
 
While a CodeWarrior 7 project is provided, MPW and mingw32 are recommended
as they produce much smaller executables.
 
MPW (Macintosh Programmer's Workshop) runs on PowerPC and
68K Macs under Mac OS 9 or earlier, or Classic under OS X.
 
 
Windows notes
-------------
 
BUILDING WITH VISUAL STUDIO
* For Windows, Visual Studio works best (the community edition is even free),
and it can compile the 32-bit and 64-bit plugins for Windows.
* Download: https://visualstudio.microsoft.com/de/vs/community/
* To build in Windows with Visual Studio (IDE or command line), see the visual_studio
subdirectory and notes (README.md).
* Most recently tested with Visual C++ 2019 and Adobe Photoshop SDK CC 2017.
 
BUILDING WITH OPEN WATCOM
* OpenWatcom can be used, but only for 32 Bit, and it is officially not
supported by Adobe.
* Download: https://sourceforge.net/projects/openwatcom/files/
* To build in Windows with the OpenWatcom IDE, see the wpj
subdirectory and notes (README.md), kindly provided by Peter Heckert and Daniel Marschall.
* Most recently tested with Open Watcom 1.9 and Adobe Photoshop SDK CC 2017.
 
BUILDING WITH MINGW32/64
* Mingw32 can be hosted on virtually any UNIX or Linux system, or under Windows.
* Download: http://mingw-w64.org/doku.php/download/mingw-builds
* Do NOT install mingw32 to a directory that contains white spaces (i.e. "C:\Program Files (x86)\")!
* To build both Win32 and Win64, you need to run setup two times:
For 32 bit "i686" and for 64 bit "x86_64"
* Check if all paths inside the file "make_mingw32.bat" are valid, then run it.
The files FilterFoundry.8bf (32 Bit) and FilterFoundry64.8bf (64 Bit) should now be generated.
* Most recently tested with mingw64 and Adobe Photoshop SDK CC 2017:
- i686-8.1.0-posix-dwarf-rt_v6-rev0 for 32 Bit
- x86_64-8.1.0-posix-seh-rt_v6-rev0 for 64 Bit