MaKL ChangeLog

$Id: ChangeLog,v 1.81 2010/06/07 19:50:04 stewy Exp $

ChangeLog file of MaKL - http://www.koanlogic.com/makl/changelog.html

MaKL 1.9.0
	- mk: bug in mkdep.gcc.sh helper that was causing a compilation error on
	      new versions of GCC (e.g. Ubuntu Oneiric with GCC 4.6.1)
	- cf: makl_test_dir() to specify custom directory for test files ;
	      a couple of --help fixes and cleanup ; fixed featx varname parameter ;
	      cmdline args for dash-separated ids not working
	- Add clang toolchain on Darwin (darwin-clang.tc)
	- fix depend target for C++ sources
	- OpenSolaris toolchains fix (add explicit C++ compiler)
	- QNX momentics 6.5.0 toolchain fix
	- QNX GNU toolchain for ARMv7 added

MaKL 1.8.3
	- Minix/GCC, Minix/ACK, OpenSolaris/GCC and OpenSolaris/SunStudioExpress
	  support added
	- mk: global rethinking of quote handling
	- doc: s/makl-users@koanlogic.com/makl-bug@koanlogic.com

MaKL 1.8.2
	- cf: fixed broken disabling of features ; safer tmp dir and better error ;
	  generate <pkg>_VERSION_{MAJOR,MINOR,TEENY} numeric values in header
	  and Makefile.conf files
	- mk: minor fix in .help target of dist.mk

MaKL 1.8.1
	- set /bin/bash as default shell on Linux (avoid Ubuntu dash !)
	- force $(RM) -f during lex/yacc deps execution

MaKL 1.8.0
	- added tricore toolchain provided by Thomas Kotschenreuther
	- added makl_version function to get the version of the currently installed
	  MaKL
	- cf utilities (i.e. grep, sed, tr, ...) also in toolchain
	- Solaris/GCC support added
	- DragonFly BSD support added
	- simplified auto-configuration procedure (the toolchain creation step
	  has been absorbed into configure.sh - see INSTALL)
	- added explicit --bourne_shell=... argument to top level configure
	- makl-conf also accepts non executable configure scripts
	- Intel C/C++ compiler support on Linux (icc-linux.tc)
	- produce dynamic libraries (DLL's) on Windows via MinGW and Cygwin
	- added OBJDIR to prog and lib templates for multiple target builds
	- added --makl-* command line flags to maklsh
	- makl* tools revamped
	- fix help file generation if configure.help file doesn't exist
	- added UNIX man pages for all makl* commands
	- fix: cut truncated custom args with '=' sign inside value

MaKL 1.7.2
	- fix shell expansion errors by passing file parameter to compilation
	  function instead of using pipe
	- dist.mk: blanks in DISTRECIPE filenames fix
	- NO_LY_AUTODEP added to explicitly disable lex/yacc autodep features
	- EXTRA_OBJS added to extend the list of objects that build a program
	  and/or library (e.g. those generated by lex/yacc).
	- support for static library dependencies
	- explicit 'distclean' target (and related DISTCLEANFILES variable) added
	  to all mk templates
	- makl_checkheader: new arg to specify any header file to include before
	  the one we're looking for
	- subdir template rewrite
	- installed makl commands can be {pre,suf}fixed via --script_{pre,suf}fix 
	  configure arguments
	- added PROG_{PRE,POST}FIX and SCRIPT_{PRE,POST}FIX variables to modify
	  the built/installed program/script name
	- small refactoring of lib.mk and prog.mk templates
	- add assert-var function to test variables before use
	- fix toolchain hardcoding error in configure

MaKL 1.7.1
	- fix usage of toolchain variables from configure scripts 

MaKL 1.7.0
	- added new DISTRECIPE var to dist.mk template to load dist objects from
	  an external file (can be mixed with DISTFILES and DISTREMAP)
	- fix in multiple word representation of header macros
	- do linking also for cross-compilation
	- multi-valued XENO_PATCH_URI and XENO_PATCH_FILE variables in xeno.mk
	- added XENO_FETCH_MULTI_URI to xeno-fetch.mk to allow download of multiple
	  different tarballs'
	- 'makl-new dist' command produces Makefile.dist instead of Makefile

MaKL 1.6.0
	- all makl* commands also exist in makl-* fashion, which is the preferred
	  syntax from now on
	- added maklnew (makl-new) command to create Makefile's from templates
	- added .help target to all .mk to document the available variables and 
	  targets
	- makl_compile doesn't link when cross compiling
	- added makltc (makl-tc) command to ease the creation of cross compilation 
	  environment
	- makl_checkstructelem added to check a specific element in a struct
	- makl_checksymbol added to check for #defines, variables or functions
	- explicit cygwin toolchain (default.tc would fit anyway)
	- force darwin toolchain to use /bin/echo instead of shell builtin which
	  would break on darwin 9.0.0
	- makl_checkfunc fix
	- remote toolchain download URL updated
	- added TAR and TAR_ARGS variables to dist.mk

MaKL 1.5.1:
	- added makl_checkextern

MaKL 1.5.0:
	- added "nutshell"s, i.e. a mechanism to create and use completely modular
	  toolchains (via MAKL_ETC variable)
	- added RELOC variable for staged installation
	- removed map.mk include's from within mk templates other than common.mk
	- maklhelp also prints MaKL related environment variables in use
	- subdir template fix: mixing with other mk templates is ok

MaKL 1.4.0:
	- added script.mk template for installing/uninstalling scripts
	- added xeno.mk template for external packages handling aiming to provide
	  a more generic interface than party.mk (which is now deprecated)
	
MaKL 1.3.0:
	- added files.mk template for installing/uninstalling generic files
	- added MAKL_TC_DIR environment variable to override system-wide toolchain
	  settings
	- NO_<UPPERCASE'D-TARGET-NAME> variables for selectively disabling 
	  standard targets
	- users' hooks for all standard MaKL targets in prog, man, lib, deps, inc
	  templates
	- added subst.mk template for doing on-the fly sed(1) substitutions to
	  files
	- Linux mipsel toolchain added
	- shared libs support (Darwin, Linux, FreeBSD, NetBSD, OpenBSD)
	- added basic test/tutorial framework
	- added configure arguments to both header and Makefile output
	- VERSION file supports description
	- deps.mk: lex/yacc support
	- undefine conf.h variables to avoid redefinition
	- export output Makefile variables for recursive make calls
	- party.mk: fix logging output to absolute path
	- fixed ordering between -L and -l arguments for shared libraries
	- correct environment import for set operations

MaKL 1.2.1:
	- makl_file_sub() added
	- makl_tab_set() handles variable number of arguments
	- default optimization flags removed
	- explicit directory variables (DESTDIR, BINDIR, MANDIR, etc.) added to 
	  output config files 

MaKL 1.2.0:
	- QNX toolchains added (ARM, MIPS, PPC, SH)
	- VxWorks toolchains added (DCC compiler)
	- toolchain names changed to OS-CPU.tc
	- new make target: purge
	- party.mk: added decompression, download and integrity check targets, 
	  split steps more cleanly, state check
	- bug fix: strip LIB name before using it
	- makl_check_tools, makl_checktmzone, makl_checkinline, 
	  makl_checkextvar, makl_target_name added
	- minor bug fixes (forced type checks for VxWorks, whitespace in 
	  type-based variable generation)

MaKL 1.1.1:
	- by default use MKINSTALLDIRS, MKDEP and LORDER from makl/helpers/

MaKL 1.1.0:
	- cross compilation support:
	- toolchain target now depends on MAKL_PLATFORM
	- new switch --cross-compile avoids execution tests
	- new variable MAKL_TC influences the top-level toolchain target
	- new ports: ARM, MIPS, PowerPC and SH via Buildroot, Cris/Axis.
	- makl_append_var_mk() alias to makl_add_var_mk()
	- new switch --libs set default base dir for all libs
	- separate info (default) from dbg (--verbose) output
	- --help switch optimisation: store configure.help for reuse
	- new switch --help_gen (or -g) to generate a new configure.help
	- tab_get fix to avoid grep error
	- dist.mk also creates the .md5 checksum for the package

MaKL 1.0.0:
	- include logic changed to support toolchain overriding
	- new ports: OpenBSD 3.8, NetBSD 2.0.x, NetBSD 2.1, FreeBSD 6.0
	- a number of optimisations for speed

MaKL 0.4.0:
	- first public release