2010-01-20 43 views
1

編寫PHP擴展的標準方式是使用autoconf/automake以及名爲phpize的腳本,該腳本似乎基於特定於您的PHP環境的模板生成autoconf配置。這讓它爲適當版本的PHP構建PHP擴展等。您可以使用scons來構建PHP擴展嗎?

autoconf和用於配置它的m4語言是神祕的,而且人們已經寫出了替代品,例如scons。我希望在構建PHP擴展時能夠使用其中之一。

原則上,您應該可以使用scons或類似的工具來構建PHP擴展。但是,我不明白你會如何取代phpize步驟。

有沒有人在使用scons構建PHP擴展或其他更現代的構建工具方面取得任何成功?

回答

0

阻力最小的路徑將有SCons的運行autoconf的,phpize,並需要爲您的任何其他PHP擴展。你可能能夠從那裏提取編譯器配置,讓SCons執行實際的構建,或者你可以簡單地讓SCons運行「make」。

從SCons聲明shell命令目標很容易,但正確地獲得依賴關係總是很棘手。

基本上你必須讓SCons知道這些外部工具產生的任何中間文件。這樣,它不僅可以正確清理它們,還可以根據每個中間結果(MD5校驗和)的內容簽名來緩存整個系列步驟。

適當的高速緩存將顯着減少這些外部工具在代碼庫更改時實際需要調用的次數。

雖然我不認爲有人爲PHP編寫了特定的解決方案,但SCons wiki上有許多自定義構建器可以做類似的事情。

0

phpize(1)只是一個shell腳本,所以我想你可以修改它與scons的工作...

+0

Phpize從用戶環境複製m4代碼的模板塊。問題是,我不知道這個片段可能不同的環境特定方式,所以我不知道我需要從中提取哪些參數。 – 2010-01-21 19:12:35

+0

嗯,你好我不知道。我只是把它扔出去,因爲我碰巧記得它是一個shell腳本。 – echo 2010-01-21 19:26:22

相關問題