If you never build the X or FOX gates, you can delete this long message now. 8-)
I started making some changes to our build trees a few weeks ago to prepare for both Xorg 1.5 and for being able to build on Indiana. One thing led to another, and before I knew it, it had turned into my Third Annual X Open Source Makefile Overhaul (tm). Even more astonishingly, this time I even wrote some documentation on the results (attached to this message, will be checked into the tree as open-src/README). I'll be sending the changes out for code review soon (once I finish fixing a few last build errors) and then I'll be setting up a hg repo in the FOX project to start using them to test Xorg 1.5 pre-release builds - so for now, this is mostly just a heads up and chance for people to comment. Big changes: - Instead of some variables being APP_* in app modules, LIB_* in lib modules, and other variables being LIB_* in all modules, all modules of all types now use the same variable names. For boolean variables, they all take "yes" or "no", not "yes" for some and "true" for others. - There's just one way now to specify things like running autoreconf and man page "suntouching" flags, instead of some directories adding makefile targets, others setting variables, etc. - Rules that were the same or almost the same, but duplicated in multiple makefiles are now consolidated into a common set of rules to give us one place to make changes and the same behaviour everywhere. - All shell scripts & Makefiles now specify use of /bin/ksh93 as the shell instead of /bin/sh, so that build results are the same on Nevada (where /bin/sh is the old Bourne Shell) and on Indiana (where /bin/sh is replaced by ksh93). Some changes have been made to them to better conform to the Shell Style guidelines from the OpenSolaris Shell project (mostly ones that improve performance or readability). - Specifying the compiler for a module to be Sun Studio or gcc is easier and cleaner, and changing the default to gcc should also be easier if someone was to be porting OpenSolaris X to a new platform. - Now that most components are migrated to open-src, and there are no dependencies on xc bits anymore, the "BEFOREX" and "AFTERX" lists to build part before the closed source xc gate, and part of it after are gone - there's just one list to build, and it's all built before the xc gate, which should also help us make sure the open builds are buildable without xc. New features: - A "xmake" script is provided that will let you run builds in subdirectories with all the flags normally provided when run from the module directory - i.e. you don't have to just run make in open-src/xserver/xorg - you can run xmake in open-src/xserver/xorg/build_32/hw/xfree86/util/xorgcfg if that's all you want to rebuild. - A "find-build-errors" script is included that picks out the errors from the buildit and make_release packages logs and just prints those to make it easier to find the 10 lines of errors in the 16 megs of log files from a full build. - The version of a upstream source can be set to "git" to cause it to be checked out of git instead of using a tarball - this won't be allowed in code checked into the master gate, but will be useful for developers tracking upstream changes, such as in the afore-mentioned Xorg 1.5 pre-release porting gate I'll be setting up. - "make configure" will just run the configure script or equivalent (split out of the build step of the previous rules) - "make debug" and "make debug-install" will build and install binaries built with debug flags (-g) instead of optimization flags and as a random bonus, I've migrated our mdb modules/scripts package from the closed source portion of the tree to open-src/utils, which includes the mdb modules to walk the clients and grabs lists in the X server and scripts to run these to list all current clients and current device/server grabs, and modified them to add Xorg support to the existing Xsun code. These aren't shipped in Solaris or OpenSolaris, just provided as a tool for developers to debug with. Plus, if you order now, this bonus knife will be yours for only... wait, wrong script, never mind. -- -Alan Coopersmith- alan.coopersmith at sun.com Sun Microsystems, Inc. - X Window System Engineering -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: README URL: <http://mail.opensolaris.org/pipermail/xwin-discuss/attachments/20080731/93487a87/attachment.ksh>