ちっぷす:pstoeditのコンパイル
準備するもの
- pstoedit 3.33のソースファイル
ここから
- Mac OS X 10.3.5 (build 7M34)
- xcode (ちゅうかg++ 3.3)
- X11はなくてもよさそう
手順
- ターミナルを起動し、コマンドラインでアーカイブファイルを展開する。
tar zxf pstoedit-3.33.tar.gz
- できたディレクトリ/srcにcdする。
cd pstoedit-3.33/src
- makefile.txtをMakefileにコピーして編集する。
cp makefile.txt Makefile && vi Makefile
編集内容は、
- 10行目の行頭に#をつけ、11行目の行頭の#を削除
- 16行目の GNUGPPFLAGS= と -DBUGGYGPP の間に -D__unix__ と空白と
-DHAVESTLと空白を入れる
- 17行目の行との#を削除
- 63行目から77行目までの行頭に#を入れる
- 238行目のimage.$(OBJEXT)を削除し、行末に空白と poptions.$(OBJEXT)
base64writer.$(OBJEXT) psimage.$(OBJEXT)を追加
- 単に、昔のバージョンからの修正し忘れを直しているだけと思われる。
- 環境変数の設定してバイナリ構築。
setenv CPPFLAGS -D__FreeBSD__ && make && sudo make
install
- テスト。
make test
注意点
- ./configureしても結局はうまくいかない。
コマンドラインで setenv CPPFLAGS -D__FreeBSD__ してから
./configure --disable-sharedすると、コンパイルは通るようになる。
しかし psf、ps、debug、dump、gs、ps2aiの5つのドライバしか有効にならない。
--enable-shared な状態では、make 中に g++ が -shared
というオプションがありませんよ、というエラーで落ちるので、そのときの g++
のコマンドライン中の -shared を -dynamiclib -install_name
で置き換えるとうまくいくと思われる。configure
ファイル中には -shared という文字列が約110箇所あるが、configure
のコマンドラインオプション以外の -shared
を置き換えればいいかもしれない。
参考
pstoedit -helpの出力:
pstoedit: version 3.33 / DLL interface 108 (build Sep 14 2004 - release build) : Copyright (C) 1993 - 2003 Wolfgang Glunz
[ -include : string : name of an option include file]
[ -df : string : default replacement font for raster fonts]
[ -nomaptoisolatin1 : boolean : don't map to ISO-Latin 1 encoding]
[ -dis : boolean : let GhostScript display the file during conversion]
[ -nq : boolean : don't quit GhostScript after PostScript processing - for debugging only]
[ -nc : boolean : normally curves are shown as curves if backend supports. This options forces curves to be always converted to line segments.]
[ -nsp : boolean : normally subpathes are used if the backend support them. Thus option turns off subpathes.]
[ -merge : boolean : merge adjacent pathes if one is a stroke and the other is a fill. This depends on the capabilities of the selected backend]
[ -dt : boolean : draw text, i.e. convert text to polygons]
[ -adt : boolean : automatic draw text. This draws text only for text that uses fonts with non standard encodings]
[ -ndt : boolean : fully disable any "intelligence" for drawing text]
[ -correctdefinefont : boolean : apply some "corrective" actions to definefont - use this for ChemDraw generated PostScript files]
[ -pti : boolean : precision text - individual. Places text character by character - but only if non standard chararater widths are used]
[ -pta : boolean : precision text - always. Places text character by character]
[ -split : boolean : split multipage documents into single pages]
[ -v : boolean : turns on verbose mode]
[ -ssp : boolean : simulate subpaths]
[ -uchar : string : when a character cannot be mapped to one of the standard encoding vector, use this as replacement]
[ -dontloadplugins : boolean : internal option - not relevant for normal user]
[ -nb : boolean : use old NOBIND instead of DELAYBIND - try this if GhostScript has problems]
[ -page : integer : extract a specific page: 0 means all pages]
[ -flat : double : the precision use for approximating curves by lines if needed]
[ -sclip : boolean : simulate clipping - probably you need to set this if you use -dt]
[ -rgb : boolean : use RGB colors instead of CMYK]
[ -noclip : boolean : don't use clipping (relevant only if backend supports clipping at all)]
[ -t2fontsast1 : boolean : handle T2 fonts (often come as embedded fonts in PDF files) same as T1]
[ -keep : boolean : keep the internal files - for debug purposes only]
[ -gstest : boolean : perform a basic test for the interworking with GhostScript]
[ -pscover : boolean : perform coverage statistics about the pstoedit PostScript proloque - for debug and test only]
[ -nfr : boolean : don't replace non standard encoded fonts with a replacement font]
[ -rotate : integer : rotate the image]
[ -fontmap : string : use a font mapping from a file]
[ -pagesize : string : set page size (e.g. a4)]
[ -fromgui : boolean : internal - not for normal user]
[ -scale : double : scale result]
[ -help : boolean : show the help information]
[ -dumphelp : boolean : show all options of all drivers]
[ -bo : boolean : backend only - assumes an input file in the internal dump format, e.g. produced by a previous run using -f dump]
[ -psarg : string : additional arguments to be passed to GhostScript directly]
-f : string : target format identifier
[ inputfile [outputfile] ]
Default interpreter is gs
Available formats :
psf: Flattened PostScript (no curves) (built-in)
ps: Simplified PostScript with curves (built-in)
debug: for test purposes (built-in)
dump: for test purposes (same as debug) (built-in)
gs: any device that GhostScript provides - use gs:format, e.g. gs:pdfwrite (built-in)
ps2ai: Adobe Illustrator via ps2ai.ps of GhostScript (built-in)
lwo: LightWave 3D Object Format (built-in)
rib: RenderMan Interface Bytestream (built-in)
rpl: Real3D Programming Language Format (built-in)
dxf: CAD exchange format (built-in)
dxf_s: CAD exchange format with splines (built-in)
java1: java 1 applet source code (built-in)
java2: java 2 source code (built-in)
gmfa: ASCII GNU metafile (built-in)
gmfb: binary GNU metafile (built-in)
pdf: Adobe's Portable Document Format (built-in)
kil: .kil format for Kontour (built-in)
sk: Sketch Format (built-in)
mpost: MetaPost Format (built-in)
latex2e: LaTeX2e picture format (built-in)
pic: PIC format for troff et.al. (built-in)
hpgl: HPGL code (built-in)
tk: tk and/or tk applet source code (built-in)
sample: sample driver: if you don't want to see this, uncomment the corresponding line in makefile and make again (built-in)
tgif: Tgif .obj format (for tgif version >= 3) (built-in)
fig: .fig format for xfig (built-in)
xfig: .fig format for xfig (built-in)
idraw: Interviews draw format (EPS) (built-in)
gnuplot: gnuplot format (built-in)