## [3.54] - 2023-05-22 ### Added - Cross-compile improvements. ### Changed - Version number is now in its own file to assist auto-builds. ## [3.53] - 2023-05-06 ### Added - Coverage generation with -cov option. ## [3.52] - 2023-04-29 ### Added - Added support for risc-v on Linux. ## [3.51] - 2023-03-02 ### Fixed - .cxx files use CPP_OPTS. ### Changed - Compiler version calculation. ## [3.50] - 2022-07-08 ### Added - moduleinfo variable opts - cc_vopt, etc. ## [3.49] - 2022-03-31 ### Fixed - Compute gcc version cache earlier. ## [3.47] - 2021-12-14 ### Fixed - Less optimisations with -gdb option. - .mm files use CPP_OPTS. ### Changed - Use BRL.ThreadPool with NG. ## [3.46] - 2021-01-03 ### Fixed - Linkage for incbin in included sources. ## [3.45] - 2020-08-16 ### Added - incbin file hashing. ### Changed - New incbin format. ## [3.44] - 2020-07-31 ### Added - macOS "arm64" build option. - Custom macOS toolchain configuration. - macOS universal apps (requires xcode 12+). ### Fixed - obj-C sources now built in correct order. ## [3.43] - 2020-07-05 ### Fixed - iOS build configuration. ## [3.42] - 2020-04-08 ### Added - New '-hi' option to indicate app supports high resolution (hidpi) screens. ### Fixed - Don't use -m64 flag when compiling on 64-bit ARM. ### Changed - Increased minimum macOS target for newer versions of macOS. ## [3.41] - 2019-12-21 ### Changed - Non bmx object files now have a prefix applied to make them more unique. - cleanmods now removes all .bmx subdirs. ## [3.40] - 2019-09-02 ### Added - New '-gprof' option for gprof profiling support. - Basic conditional comparisons. (bcc 0.111+) - User defined compiler options may now contain specific integer values. (bcc 0.111+) ### Fixed - Icon and buildpath usage improvements. - Suppress creation of nested .bmx folders. ## [3.39] - 2019-06-20 ### Fixed - Correctly set file version on Win32. - Don't use incbin object times to determine change. - Compare incbin lists for differences. ## [3.38] - 2019-05-29 ### Added - New '-ud' option to add user defined compiler options. (bcc 0.108+) ## [3.37] - 2019-05-26 ### Fixed - Wrapped upx arg path in quotes. - Improved detection of nx toolchain dir. ### Changed - app-specific pre/post script names now require pre/post filename suffix. - Removed unused options. - Windows app icon in resource is now APP_ICON instead of 101. ## [3.36] - 2019-05-09 ### Added - New '-upx' option to pack executables. ## [3.35] - 2019-04-29 ### Fixed - Improved Windows resource handling. ## [3.34] - 2019-03-15 ### Added - New 'no-pie' option to disable PIE. ### Changed - Linux binaries are now built as position independent executables (PIE) as default. ## [3.33] - 2019-03-05 ### Fixed - DLLs now statically link against libgcc. ## [3.32] - 2019-02-11 ### Added - New 'override' and 'overerr' options for bcc Override support. ## [3.31] - 2019-01-18 ### Added - New 'single' option. Forces single-threaded build mode. - Allow user-provided manifest files on Win32. ### Changed - Use application name for default application settings. ## [3.30] - 2018-12-04 ### Added - Initial bootstrap implementation. ## [3.29] - 2018-11-20 ### Fixed - Improved macOS .a processing. ## [3.28] - 2018-10-03 ### Changed - macOS version calculation. - macOS stdlib changes. ## [3.27] - 2018-09-06 ### Fixed - Fixed conditional compiler processing. - makelib now correctly builds dlls. ### Added - NX platform support. ## [3.26] - 2018-07-31 ### Fixed - Potential task race issue. ### Changed - NG incbins are now wrapped in own object file. ## [3.25] - 2018-04-27 ### Fixed - Generate correct code for luajit. ### Changed - Delete files in task, rather than linearly. ## [3.24] - 2018-04-06 ### Fixed - App link should always be last. ### Changed - Don't be a resource hog. Only use n-cores - 1. - More build tweaks. ## [3.23] - 2018-03-31 ### Added - Generate manifest and resources for win32 GUI apps. ## [3.22] - 2018-03-21 ### Changed - Further build tree enhancements to significantly improve partial build times. ## [3.21] - 2018-01-10 ### Added - New 'compile' option. Similar to makeapp, but doesn't link or create executables. ## [3.20] - 2017-12-12 ### Fixed - Now correctly factors in generated sources when determining current build requirements. ### Added - Concatenate larger sets of strings with string buffer. ## [3.19] - 2017-11-21 ### Changed - Improved build tree efficiency by pushing more parallel friendly files to the end. ## [3.18] - 2017-06-19 ### Added - Support for native asm compilation. ### Changed - NG builds are now threaded by default. ## [3.17] - 2017-02-25 ### Added - Support for single-target MinGW32 distros (eg. MinGW-w64), with paths MinGW32x86 and MinGW32x64. ## [3.16] - 2016-07-31 ### Added - Support for direct import of .a files. ## [3.15] - 2016-07-16 ### Fixed - Win32 32-bit link issue on recent 64-bit MinGW. ### Added - Linux build additions. Support for musl libc and static linking. ## [3.14] - 2016-06-05 ### Added - Can now set command-line options via custom.bmk. ## [3.13] - 2016-05-21 ### Added - Default simd cc_opt for x64 (-msse4). ## [3.12] - 2016-04-17 ### Changed App link optimisations. ## [3.11] - 2016-02-20 ### Added - nostrictupgrade option for NG. - -w option for NG. - Support Linux/Pi ARM64 build options. ## [3.10] - 2016-01-26 ### Fixed - Includes exuberance. ### Added - Support generic Linux ARM builds. ## [3.09] - 2015-11-07 ### Fixed - Android x86/x64 tool paths. ### Changed - Android now links to (and includes) stlport_shared. ## [3.08] - 2015-11-01 ### Added - New CPP_OPTS and C_OPTS options for C++ and C specific compiler options respectively. ## [3.07] - 2015-10-28 ### Fixed - Android debug builds. - Improved iOS 9 support. ## [3.06] - 2015-08-31 ### Fixed - Copy android resources to apk. ### Added - Universal ios builds (x86+x64, armv7+arm64). - ?ptr32 and ?ptr64 compiler definitions. ## [3.05] - 2015-08-04 ### Added - Support for ios target. ## [3.04] - 2015-07-03 ### Added - -quick app build option - skips building/checking required module if .a and .i present. ## [3.03] - 2015-06-20 ### Changed - Legacy bcc installations can now use local MinGW32 dir. ## [3.02] - 2015-06-10 ### Added - Standalone app build generation. Generates source and build script for bmk/bcc-less compile. ## [3.01] - 2015-05-28 ### Fixed - OS X sysroot issue, and enhanced OS X configuration. ### Changed - Reworked android stuff to work with standard setup. - Improved support for mixed builds (compiling between legacy and ng) ## [3.00] - 2015-05-05 "Chirpy Chipmunk" ### Added - Progress information. ### Changed - Redesign of dependency processing - parallel build! - Now uses thread pool. ## [2.25] - 2015-02-15 ### Fixed - Fix for preprocessor bmxng version check. - Win32 pthread link order issue. ### Changed - Use Win32 pthread link for GCC 4.8+ ## [2.24] - 2015-01-22 ### Added - Support for emscripten target. - Auto suffix .html for emscripten apps. - Platform/arch validation. - Opengles target platform preprocessor option. - Project-specific pre-processing - ".bmk". - Gdb debug generation option. ## [2.23] - 2014-12-01 ### Added - Direct support for android and raspberrypi targets. - Android configuration settings and project template. ## [2.22] - 2014-10-02 ### Fixed - Handle quotes in Import strings. ### Added - Add MinGW/bin to PATH on Windows. ### Changed - Win32 NG will now prefer MINGW-located files (bin/lib), instead of BlitzMax bin/lib. - Use .exe suffixes for binaries on Windows. - Minimum OS-X version 10.5 (circa 2007). - Release builds are stripped by default. Can be overridden with 'stripsymbols' option. ## [2.21] - 2014-08-28 ### Added - Support for 64-bit Win32 build options. ## [2.20] - 2014-07-17 ### Fixed - Issue with Linux popen signature and old bcc. ### Changed - Improved target (cross-compile) options. ## [2.19] - 2014-06-05 ### Fixed - Linux compilation fix for new bcc. ### Changed - Architecture tweaks and documentation update. - Removed bb2bmx/convertbb option. ## [2.18] - 2014-04-13 ### Added - Support for 64-bit OS X build options. - New bcc c/c++ compiler definition : BMX_NG ## [2.17] - 2014-02-25 ### Added - upport multiple build systems. - Linux custom tool locations. ## [2.16] - 2013-12-07 ### Fixed - Return correct version when using clang as gcc compiler. - Module hierarchical build issue. ### Added - Support for pre-build scripts. - Configurable ld_opts settings. ### Changed - Changes for OS X sandbox/codesign support. - Enhanced inline pragma support. ## [2.15] - 2012-12-04 ### Added - Update to latest official changes. ## [2.14] - 2011-10-05 ### Fixed - Mingw gcc 4.6+ build problems. ### Added - Recent official changes. ## [2.13] - 2011-08-21 ### Fixed - ModuleInfo quotes support. ## [2.12] - 2011-07-30 ### Changed - OSX 10.7 (Lion) tweaks. ## [2.11] - 2011-02-27 ### Changed - Use g++ instead of ld for linking on win32. ## [2.10] - 2011-02-24 #Added - Option for skipping module builds. ## [2.09] - 2010-04-30 ### Fixed - loadBMK to work for local app folder. ## [2.08] - 2010-04-05 ### Fixed - PPC universal link issue. ### Added - Tommo's include speedup fix. ## [2.07] - 2010-01-28 ### Fixed - Win32 linking to include libmingw32 both at the start and end of the list. (should cover 3.9.5 and 4.x gcc's) ## [2.06] - 2009-12-30 ### Added - APPID variable for scripts on Mac (useful for custom plists). ## [2.05] - 2009-12-10 ### Fixed - Linux optimization flag -Os always being set. ### Added - .cc file support. ## [2.04] - 2009-06-28 ### Changed - Tweaked thread error reporting. - Small speedup with threading. ## [2.03] - 2009-06-28 ### Fixed - Import ordering. ### Changed - Improved custom options support for Universal builds. ## [2.02] - 2009-06-08 ### Fixed - Multiple defines problem. ## [2.01] - 2009-06-07 ### Fixed - Dependency compilation issue - or lack of it! ## [< 2.00] - 2009-05-26 ### Added - Multi-process (threading) support. ### Changed - Improved custom variable overriding. ## [< 2.00] - 2009-05-18 ### Added - Universal support (Mac) with -i parameter. - Cross-compile support with -l win32. ## [< 2.00] - 2007-09-28 ### Added - Custom appstub compiles using -b parameter. ### Changed - Synched with current bmk source.