[PHP-users 5441] Re: Windows2000のPHP からPDFを出力

Masashi Ohba php-users@php.gr.jp
Fri, 15 Feb 2002 17:16:36 +0900


大場です。

Tybalt of Capulet wrote;

>の中にある下記の6つのファイルをなんとかコンパイルしようと
>がんばったのですがどうやってコンパイルしていいのか
>結局わかりませんでした。

どうやってコンパイルしていいか分からないのに
どうがんばったんでしょう?


>恐らくこの6つのファイルをコンパイルすればphp_pdf.dllが作成されるような
>気がします。
>Cygwinをいうツールを使ってMakeしようとしましたができませんでした。

どういう手順でやってるのかくらい示さないと
あなたがどこでおかしなことしているかは
誰も判断できませんけど。


>どなたかこのコンパイル方法がわかるかたいらっしゃいませんでしょうか?

pdflib-4.0.2-Windows/bind/php/readme.txtという
ドキュメントにコンパイル方法は書いてありますけど
まさか読んでいない?

Windows
    - Create PDFlib.lib from the PDFlib sources. Change the project settings
      to create a "Multithreaded DLL" library named pdflib.lib.

    - Copy the required PDFlib support files (see below) for PHP to your
      PHP source tree.
        
      C:\> copy <pdflib-dir>\bind\php\ext\pdf\<somefiles> <php-dir>\ext\pdf
      
    - Now rebuild php_pdf.dll.


ここが「see below」
Support files
    The following files have to be copied from bind/php/ext/pdf to the ext/pdf
    directory of your PHP source tree. Which files are needed depends on the
    PHP version you use:

    PHP-4.0.4pl1 (and probably earlier versions):
	    Makefile.php-404.in	-> Makefile.in
	    libs.php-404.mk	-> libs.mk
	    config.m4		-> config.m4
	    php_pdf.h		-> php_pdf.h
	    pdf.c		-> pdf.c

    PHP-4.0.5:
	    config.m4		-> config.m4
	    php_pdf.h		-> php_pdf.h
	    pdf.c		-> pdf.c

    PHP-4.0.6:
	    config.php-406+.m4	-> config.m4
	    pdf.c		-> pdf.c

    PHP-4.1.0/4.1.1
	    config.php-406+.m4	-> config.m4
	    pdf.c		-> pdf.c

なので、PHPのオリジナルのソースツリーに名前を変えてコピーして、
php_pdf.dllをリビルドするために使うもののようなので、
この6つのファイル「だけ」ではどうやってもコンパイルは無理なのでは?
と思いますけど。


UNIX上で展開しているPHPのソースコードでは
/usr/local/src/php-4.1.0/ext/pdf
> ll
total 279
-rw-r--r--  1 root  wheel       0 Dec 12 15:24 .deps
drwxr-xr-x  2 root  wheel     512 Dec 12 15:26 .libs
-rw-r--r--  1 root  wheel      18 Nov 20  2000 CREDITS
-rw-r--r--  1 root  wheel     446 Dec 12 15:24 Makefile
-rw-r--r--  1 root  wheel     222 Feb 13  2001 Makefile.in
-rw-r--r--  1 root  wheel    3875 Jun 14  2001 config.m4
-rw-r--r--  1 root  wheel     626 Dec 12 15:26 libpdf.la
-rw-r--r--  1 root  wheel     333 Dec 12 15:24 libs.mk
-rw-r--r--  1 root  wheel   81332 Oct 12 08:51 pdf.c
-rw-r--r--  1 root  wheel    4923 Sep 30  2000 pdf.dsp
-rw-r--r--  1 root  wheel  165988 Dec 12 15:26 pdf.lo
-rw-r--r--  1 root  wheel    6419 Aug  8  2001 php_pdf.h
-rw-r--r--  1 root  wheel     294 Apr 22  1999 setup.stub

のファイルがありますので、この場合

PHP-4.1.0/4.1.1
    config.php-406+.m4	-> config.m4
    pdf.c		-> pdf.c

が適用されるので、そこを入れ替えてから、UNIX版でいう
拡張モジュールを作る要領でVC++を使うと
dllができるとかいうことなのではない?(VC++よく知りません)

>もしこれに対するレスが何かあまり好ましくないようであれば、
>直メールでもいいので教えてください。

実際どうなのか知りませんが、
「何かしらよろしくないことが発生しかねない」
とお考えですか?

#それなら聞くこと自体しない方がいいような気がするけど


>情報に対して対価が発生するのであれば金額によっては検討いたしますので
>何卒よろしくお願いいたします。

おそらく上記のような「コンパイル方法」は
いくら聞いてもタダでしょうけど

#ついてきたドキュメントのコンパイル方法を
#読むくらいは最低限して欲しいけど

VC++を使って生成された物を、対価を取って配っていいかどうかは
ソースに同胞されている、ドキュメントのライセンシー依存でしょう

「自分でコンパイルする分にはタダだけど
 でもそれを配って金とっちゃだめだよー」
というライセンスもありますので

ただ、これが実際どう書かれているのか知りません。

------------------------------------------------------------
大場正志(Masashi Ohba)
E-Mail  ohba@intelight.co.jp
(株) インテライト
http://www.intelight.co.jp
------------------------------------------------------------