-*-outline-*- * version 0.86 complete rework of the computation of dependencies. e.g. to take into account the run-time dependencies of build-time dependencies. fixed bug in package creation with circular imports. * version 0.85 for autodepend to work as expected, the build rule for ozl needs to consider all the recursive dependencies. * version 0.84 fixed a bug introduced by 0.83. The explicit "depends" in the makefile.oz were being ignored. * version 0.83 ** ozmake will now automatically compute build-time and install-time dependencies, but sofar only for Oz sources. This can be controlled by --(no)autodepend, which is true by default. * version 0.82 ** honor new OZ_DOTOZ introduced in Mozart 1.2.4 * version 0.81.4 ** forgot to enter changes ** gumpdir support still unusable in 1.2.3. turned off ** --publish: don't try to install docs when there is none otherwise publishing contact complains about missing mogul id ** don't try to chdir in dry-run mode (the dir may be missing) * version 0.79 ** fixed "fast" compiler invocation to also pass debug switch * version 0.78 ** automatically remove spurious trailing slashes on MOGUL IDs. ** `provides' in submakefiles are now really not forgotten * version 0.77 ** --fast is now `really' the default ** Renamed Makefile.oz to Makefiler.oz to avoid clash with makefile.oz on case insensitive systems ** fixed bug in --install version checking * version 0.76 ** ozmake --publish will now publish the package both under the bare filename derived from the mogul id and from the same augmented with the version number if any. ** ozmake --install will compare both version and date to determine if the package to be installed is newer than the installed version. version is more significant than date. ** --packageversion=VERSION is now respected by --extract and --install. when --extract downloads from the MOGUL archive, it will look for the given version of the package. --install will signal an error if the package to be installed doesn't have the given version. ** --fast is now the default. --slow gets back the old behaviour, just in case someone discovers a problem. ** version and requires now are actually put in the database * version 0.75 ** ozmake --create will now automatically pick a package filename if none is given: it will be formed using the mogul id and the version number if any. ** ozmake --mogul=export now checks that there is no section entry that has the same mogul id as a package or contact. ** more checks are applied to the `author' feature to make sure that they don't contain a stupid mistake ** order is now preserved in `requires' ** ozmake --extract -p MOG will now properly download the package denoted by mogul id MOG from the MOGUL archive (if it was published using ozmake --publish, i.e. follows the right naming convention). ** ozmake --fast will invoke the compiler module directly without spawning a new process each time. This is easily 2 to 3 times faster. * version 0.74 ** `requires' field now properly saved in mogul.db and is properly exported ** pkg files are now compressed and much smaller ** makefiles now support the `provides' feature to override the default computed from the bin and lib features. Note that the `provides' feature of a makefile does not also override its submakefiles; each one should supply its own `provides' if desired. `provides:nil' is a simple way of indicating that the makefile provides no public functors or executables. * version 0.73 ** makefiles now support the 'contact' feature to specify MOGUL contact information: makefile( ... contact : o( mogul : 'mogul:/duchier/denys' name : 'Denys Duchier' email : 'duchier@ps.uni-sb.de' www : 'http://www.ps.uni-sb.de/~duchier/')) the value on the contact feature can also be a list of records as shown above. A makefile with contact info need not also actually provide anything else (like modules): instead, it can be used to automatically generate MOGUL entries (see below). ** ozmake --mogul=... now permits to manage the MOGUL entries associated with packages you provide. *** ozmake --mogul=put ozmake --mogul=put -p PKG update the user's database of own MOGUL contributions with current or given package *** ozmake --mogul=delete *** ozmake --mogul=delete -p PKG *** ozmake --mogul=delete MOG1 ... MOGn delete some entries from the user's database of own MOGUL contributions *** ozmake --mogul=list *** ozmake --mogul=list MOG1 ... MOGn list all or the specified entries from the user's database of own MOGUL contributions *** ozmake --mogul=export create all necessary MOGUL entries for download by the MOGUL librarian ** ozmake --config=(put|delete|list) the possible values were renamed to be similar to those for --mogul ** --publishdir is no longer supported, instead we have --moguldir --mogulurl --moguldbdir --moguldburl --mogulpkgdir --mogulpkgurl --moguldocdir --moguldocurl ** makefiles support the `tar' feature which should be a file extension or list of such taken from ['tgz' 'tar.gz' 'tar.Z']. This is to support older contributions which cannot easily be converted to ozmake but which are nonetheless distributed in the form of tarballs. You can write a makefile.oz for them and use this makefile only to generate the corresponding mogul entry: ozmake --mogul=put then export your updated mogul database explicitly ozmake --mogul=export * version 0.72 ** ozmake --config=... now permits to manage predefined defaults defaults can always be explicitly overriden on the command line ozmake --config=set --FEAT1=VAL1 --FEAT2=VAL2 ... saves the given defaults for those features (ignoring features for which defaults cannot be set) ozmake --config=unset FEAT1 FEAT2 ... removes defaults for these features ozmake --config=list lists the current defaults ** option --exe controls the name and platform of installed executables the convention on Windows is that executables have an .exe extension while on Unix there is normally no extension. --exe=default only installs executables using the platform's convention --exe=yes only installs executables with .exe extension --exe=no only installs executables without extension --exe=both installs both --exe=multi installs both, but the .exe one is linked for Windows while the no extension one is linked for Unix ** additional features supported in makefile.oz requires : [ ... ] for dependencies on other packages categories : [ ... ] for MOGUL classification version : ... a version number e.g. "2" or "3.2.7" ** --freshen upgrades only if necessary, and does not report an error if it is not necessary to upgrade ** ozmake --extract will exceptionally write a makefile.oz if none was included in the package. This is for compatibility with packages created with earlier versions of ozmake. * version 0.71 ** ozmake --extract: default directory changed from current directory to subdirectory with name derived from the package mogul id ** makefiles are now textually included in packages the preprocessed makefile is now called MAKEPKG.oz and is only used when installing from a package file when not explitly disabled by the user with --nousemakepkg * version 0.7n ** start recording changes between versions ** OZLOAD properly passed to sub ozc processes ** fixed date handling: unfortunately, this is an incompatible change all recorded package dates prior to this fix, where incorrect * previous history not recorded