I'd be in favor of this idea because it sounds cool, but it has some
crippling drawbacks:
- There isn't really a "homogenous" way to build PHP without OS-
specific checks. There's just too much that even the most minimal
build needs to know about its host system.
- "configure.php" wouldn't be any easier to maintain than
"configure.in". Reinventing the wheel is a truly massive undertaking
when it comes to supporting the sheer number of operating system
variations that autoconf and CMake have spent years working out.
- There really isn't any advantage to it. By the time you've
implemented even the most minimal bootstrap, you've already forced
yourself to use something like autoconf or CMake anyway. Look at GCC's
build system; it's a three-stage bootstrap with extensive error-
checking and endless, endless configuration options. That's what we'd
end up with, and it's just not worth it.
-- Gwynne, Daughter of the Code
"This whole world is an asylum for the incurable."
On Mar 20, 2008, at 6:28 AM, Richard Quadling wrote:
With regard to the CMake SoC proposal ...
I may be a little naive here but surely it would be better to use PHP
to build PHP?
I know that outside of PHP, a LOT of tools which I have no knowledge
of (I'm a windows user. I use point and click interfaces to build apps
when I used Delphi - no need for command line, but it was present).
I know that most *nix devs use cli to do the build.
But, if the whole build process was PHP orientated, it would be a case
of keeping it in-house. No need to learn m4/cscript/etc. when we are
using PHP to build PHP.
The problem with this (as I see it) is the first build on those
systems where a binary isn't available (look - I'm on windows. I
download and go).
So, a PHP Bootstrap would seem like a sensible tool to have.
Something would produce take a truly basic PHP interpreter. No
extensions (db, graphics, etc). As I see it it would need file I/O,
cli param handling. I think it would be nice to be able to get user
input via the console, so you could have something a little more
visual (not like the PEAR cli interface, but in that nature -
question/answer). Add in the ability to remember the last build
config, so no need to re-do all the q/a and off you go (ha ha. If only
it was that simple - but shouldn't it be?)
Ok. I know I've missed loads of what the build process does. I suspect
that PHP code necessary to build PHP would be quite extensive and I
suspect the first argument against this is wheel re-invention. I would
counter that with this is re-invention, but refactoring. The
improvement comes from not relying on anything other than the local C
compiler and userland PHP knowledge. Even I could build PHP now
without understanding a ton of different tools.
I'm no expert here.
So I know this isn't a full proposal or anything, but of those that
know this better than I...
1 - Could this be done?
2 - Would it be worth it (100% standalone pre-compiler process with no
third party tools).
3 - Would you use it if it was available - would something like this
be too different to other build systems you use?
Richard.
--
-----
Richard Quadling
Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731
"Standing on the shoulders of some very clever giants!"
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php