|
From: John A. <joh...@co...> - 2004-12-31 05:28:27
|
Eric Sunshine wrote: > John Anderson wrote: > >> >>The build process of planeshift expects the $CRYSTAL and $CEL >> >>directories to look like they do after a ./configure and jam. Crystal >> >>and CEL both have the capability to jam install. > > > >The normal way for a client project to divorce itself from this type > of low-level detail is to utilize the cs-config and cel-config scripts > to >determine the header and library directories, as well as compiler > and linker flags. > > >If the client project is Autoconf-based, then it can even further > divorce itself from cs-config and cel-config by utilizing the supplied > >crystal.m4 and cel.m4 Autoconf macro files. (The macros themselves > employ cs-config and cel-config, but only as underlying >mplementation > machinery about which the client's configure.ac need have no > knowledge.) This is a good solution for Auto-confiscated >projects. > > >Unless PlaneShift has requirements which are not addressed by these > solutions, then the best approach would be to start utilizing the > >abstractions provided by these facilities. > >> >>In my opinion planeshift's sources should look for their headers and >> >>ibraries in the directory tree created by jam install, and not in the >> >>directory tree that is created by simply building but not installing. >> >>This is important for a number of reasons. > > > >The nice thing about employing the abstractions mentioned above > (cs-config, cel-config, crystal.m4, cel.m4) is that this type of > detail >becomes much less of an issue. The cs-config and cel-config > scripts magically handle the disparity between installed vs. > not-installed >versions of CS and CEL. It is sometimes convenient for > developers to be able to work on the projects without having to > install the >various resources, or to prefer a development copy of CS > or CEL over an installed one, so it would be unfortunate to limit > clients to >using only installed resources. The cs-config and > cel-config scripts magically support both modes In the words of Guiness: Brilliant! That would be the prefered solution as well as the standard one. Utilizing autoconf and the .m4 files to locate the needed rescources would further simplify the building of binary packages for distribution. In the end, I'd say very few of the gamers that are actually going to be playing Planeshift are going to want to want to build from source each time a new release is shipped. Thus various parties would have the ability to bundle packages in different flavors. |