CHANGELOG 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  1. ## [3.55] - 2023-08-19
  2. ### Added
  3. - Added support for different assemblers.
  4. - Include inline bmk directives in .i files.
  5. ## [3.54] - 2023-05-22
  6. ### Added
  7. - Cross-compile improvements.
  8. ### Changed
  9. - Version number is now in its own file to assist auto-builds.
  10. ## [3.53] - 2023-05-06
  11. ### Added
  12. - Coverage generation with -cov option.
  13. ## [3.52] - 2023-04-29
  14. ### Added
  15. - Added support for risc-v on Linux.
  16. ## [3.51] - 2023-03-02
  17. ### Fixed
  18. - .cxx files use CPP_OPTS.
  19. ### Changed
  20. - Compiler version calculation.
  21. ## [3.50] - 2022-07-08
  22. ### Added
  23. - moduleinfo variable opts - cc_vopt, etc.
  24. ## [3.49] - 2022-03-31
  25. ### Fixed
  26. - Compute gcc version cache earlier.
  27. ## [3.47] - 2021-12-14
  28. ### Fixed
  29. - Less optimisations with -gdb option.
  30. - .mm files use CPP_OPTS.
  31. ### Changed
  32. - Use BRL.ThreadPool with NG.
  33. ## [3.46] - 2021-01-03
  34. ### Fixed
  35. - Linkage for incbin in included sources.
  36. ## [3.45] - 2020-08-16
  37. ### Added
  38. - incbin file hashing.
  39. ### Changed
  40. - New incbin format.
  41. ## [3.44] - 2020-07-31
  42. ### Added
  43. - macOS "arm64" build option.
  44. - Custom macOS toolchain configuration.
  45. - macOS universal apps (requires xcode 12+).
  46. ### Fixed
  47. - obj-C sources now built in correct order.
  48. ## [3.43] - 2020-07-05
  49. ### Fixed
  50. - iOS build configuration.
  51. ## [3.42] - 2020-04-08
  52. ### Added
  53. - New '-hi' option to indicate app supports high resolution (hidpi) screens.
  54. ### Fixed
  55. - Don't use -m64 flag when compiling on 64-bit ARM.
  56. ### Changed
  57. - Increased minimum macOS target for newer versions of macOS.
  58. ## [3.41] - 2019-12-21
  59. ### Changed
  60. - Non bmx object files now have a prefix applied to make them more unique.
  61. - cleanmods now removes all .bmx subdirs.
  62. ## [3.40] - 2019-09-02
  63. ### Added
  64. - New '-gprof' option for gprof profiling support.
  65. - Basic conditional comparisons. (bcc 0.111+)
  66. - User defined compiler options may now contain specific integer values. (bcc 0.111+)
  67. ### Fixed
  68. - Icon and buildpath usage improvements.
  69. - Suppress creation of nested .bmx folders.
  70. ## [3.39] - 2019-06-20
  71. ### Fixed
  72. - Correctly set file version on Win32.
  73. - Don't use incbin object times to determine change.
  74. - Compare incbin lists for differences.
  75. ## [3.38] - 2019-05-29
  76. ### Added
  77. - New '-ud' option to add user defined compiler options. (bcc 0.108+)
  78. ## [3.37] - 2019-05-26
  79. ### Fixed
  80. - Wrapped upx arg path in quotes.
  81. - Improved detection of nx toolchain dir.
  82. ### Changed
  83. - app-specific pre/post script names now require pre/post filename suffix.
  84. - Removed unused options.
  85. - Windows app icon in resource is now APP_ICON instead of 101.
  86. ## [3.36] - 2019-05-09
  87. ### Added
  88. - New '-upx' option to pack executables.
  89. ## [3.35] - 2019-04-29
  90. ### Fixed
  91. - Improved Windows resource handling.
  92. ## [3.34] - 2019-03-15
  93. ### Added
  94. - New 'no-pie' option to disable PIE.
  95. ### Changed
  96. - Linux binaries are now built as position independent executables (PIE) as default.
  97. ## [3.33] - 2019-03-05
  98. ### Fixed
  99. - DLLs now statically link against libgcc.
  100. ## [3.32] - 2019-02-11
  101. ### Added
  102. - New 'override' and 'overerr' options for bcc Override support.
  103. ## [3.31] - 2019-01-18
  104. ### Added
  105. - New 'single' option. Forces single-threaded build mode.
  106. - Allow user-provided manifest files on Win32.
  107. ### Changed
  108. - Use application name for default application settings.
  109. ## [3.30] - 2018-12-04
  110. ### Added
  111. - Initial bootstrap implementation.
  112. ## [3.29] - 2018-11-20
  113. ### Fixed
  114. - Improved macOS .a processing.
  115. ## [3.28] - 2018-10-03
  116. ### Changed
  117. - macOS version calculation.
  118. - macOS stdlib changes.
  119. ## [3.27] - 2018-09-06
  120. ### Fixed
  121. - Fixed conditional compiler processing.
  122. - makelib now correctly builds dlls.
  123. ### Added
  124. - NX platform support.
  125. ## [3.26] - 2018-07-31
  126. ### Fixed
  127. - Potential task race issue.
  128. ### Changed
  129. - NG incbins are now wrapped in own object file.
  130. ## [3.25] - 2018-04-27
  131. ### Fixed
  132. - Generate correct code for luajit.
  133. ### Changed
  134. - Delete files in task, rather than linearly.
  135. ## [3.24] - 2018-04-06
  136. ### Fixed
  137. - App link should always be last.
  138. ### Changed
  139. - Don't be a resource hog. Only use n-cores - 1.
  140. - More build tweaks.
  141. ## [3.23] - 2018-03-31
  142. ### Added
  143. - Generate manifest and resources for win32 GUI apps.
  144. ## [3.22] - 2018-03-21
  145. ### Changed
  146. - Further build tree enhancements to significantly improve partial build times.
  147. ## [3.21] - 2018-01-10
  148. ### Added
  149. - New 'compile' option. Similar to makeapp, but doesn't link or create executables.
  150. ## [3.20] - 2017-12-12
  151. ### Fixed
  152. - Now correctly factors in generated sources when determining current build requirements.
  153. ### Added
  154. - Concatenate larger sets of strings with string buffer.
  155. ## [3.19] - 2017-11-21
  156. ### Changed
  157. - Improved build tree efficiency by pushing more parallel friendly files to the end.
  158. ## [3.18] - 2017-06-19
  159. ### Added
  160. - Support for native asm compilation.
  161. ### Changed
  162. - NG builds are now threaded by default.
  163. ## [3.17] - 2017-02-25
  164. ### Added
  165. - Support for single-target MinGW32 distros (eg. MinGW-w64), with paths MinGW32x86 and MinGW32x64.
  166. ## [3.16] - 2016-07-31
  167. ### Added
  168. - Support for direct import of .a files.
  169. ## [3.15] - 2016-07-16
  170. ### Fixed
  171. - Win32 32-bit link issue on recent 64-bit MinGW.
  172. ### Added
  173. - Linux build additions. Support for musl libc and static linking.
  174. ## [3.14] - 2016-06-05
  175. ### Added
  176. - Can now set command-line options via custom.bmk.
  177. ## [3.13] - 2016-05-21
  178. ### Added
  179. - Default simd cc_opt for x64 (-msse4).
  180. ## [3.12] - 2016-04-17
  181. ### Changed
  182. App link optimisations.
  183. ## [3.11] - 2016-02-20
  184. ### Added
  185. - nostrictupgrade option for NG.
  186. - -w option for NG.
  187. - Support Linux/Pi ARM64 build options.
  188. ## [3.10] - 2016-01-26
  189. ### Fixed
  190. - Includes exuberance.
  191. ### Added
  192. - Support generic Linux ARM builds.
  193. ## [3.09] - 2015-11-07
  194. ### Fixed
  195. - Android x86/x64 tool paths.
  196. ### Changed
  197. - Android now links to (and includes) stlport_shared.
  198. ## [3.08] - 2015-11-01
  199. ### Added
  200. - New CPP_OPTS and C_OPTS options for C++ and C specific compiler options respectively.
  201. ## [3.07] - 2015-10-28
  202. ### Fixed
  203. - Android debug builds.
  204. - Improved iOS 9 support.
  205. ## [3.06] - 2015-08-31
  206. ### Fixed
  207. - Copy android resources to apk.
  208. ### Added
  209. - Universal ios builds (x86+x64, armv7+arm64).
  210. - ?ptr32 and ?ptr64 compiler definitions.
  211. ## [3.05] - 2015-08-04
  212. ### Added
  213. - Support for ios target.
  214. ## [3.04] - 2015-07-03
  215. ### Added
  216. - -quick app build option - skips building/checking required module if .a and .i present.
  217. ## [3.03] - 2015-06-20
  218. ### Changed
  219. - Legacy bcc installations can now use local MinGW32 dir.
  220. ## [3.02] - 2015-06-10
  221. ### Added
  222. - Standalone app build generation. Generates source and build script for bmk/bcc-less compile.
  223. ## [3.01] - 2015-05-28
  224. ### Fixed
  225. - OS X sysroot issue, and enhanced OS X configuration.
  226. ### Changed
  227. - Reworked android stuff to work with standard setup.
  228. - Improved support for mixed builds (compiling between legacy and ng)
  229. ## [3.00] - 2015-05-05 "Chirpy Chipmunk"
  230. ### Added
  231. - Progress information.
  232. ### Changed
  233. - Redesign of dependency processing - parallel build!
  234. - Now uses thread pool.
  235. ## [2.25] - 2015-02-15
  236. ### Fixed
  237. - Fix for preprocessor bmxng version check.
  238. - Win32 pthread link order issue.
  239. ### Changed
  240. - Use Win32 pthread link for GCC 4.8+
  241. ## [2.24] - 2015-01-22
  242. ### Added
  243. - Support for emscripten target.
  244. - Auto suffix .html for emscripten apps.
  245. - Platform/arch validation.
  246. - Opengles target platform preprocessor option.
  247. - Project-specific pre-processing - "<app file>.bmk".
  248. - Gdb debug generation option.
  249. ## [2.23] - 2014-12-01
  250. ### Added
  251. - Direct support for android and raspberrypi targets.
  252. - Android configuration settings and project template.
  253. ## [2.22] - 2014-10-02
  254. ### Fixed
  255. - Handle quotes in Import strings.
  256. ### Added
  257. - Add MinGW/bin to PATH on Windows.
  258. ### Changed
  259. - Win32 NG will now prefer MINGW-located files (bin/lib), instead of BlitzMax bin/lib.
  260. - Use .exe suffixes for binaries on Windows.
  261. - Minimum OS-X version 10.5 (circa 2007).
  262. - Release builds are stripped by default. Can be overridden with 'stripsymbols' option.
  263. ## [2.21] - 2014-08-28
  264. ### Added
  265. - Support for 64-bit Win32 build options.
  266. ## [2.20] - 2014-07-17
  267. ### Fixed
  268. - Issue with Linux popen signature and old bcc.
  269. ### Changed
  270. - Improved target (cross-compile) options.
  271. ## [2.19] - 2014-06-05
  272. ### Fixed
  273. - Linux compilation fix for new bcc.
  274. ### Changed
  275. - Architecture tweaks and documentation update.
  276. - Removed bb2bmx/convertbb option.
  277. ## [2.18] - 2014-04-13
  278. ### Added
  279. - Support for 64-bit OS X build options.
  280. - New bcc c/c++ compiler definition : BMX_NG
  281. ## [2.17] - 2014-02-25
  282. ### Added
  283. - upport multiple build systems.
  284. - Linux custom tool locations.
  285. ## [2.16] - 2013-12-07
  286. ### Fixed
  287. - Return correct version when using clang as gcc compiler.
  288. - Module hierarchical build issue.
  289. ### Added
  290. - Support for pre-build scripts.
  291. - Configurable ld_opts settings.
  292. ### Changed
  293. - Changes for OS X sandbox/codesign support.
  294. - Enhanced inline pragma support.
  295. ## [2.15] - 2012-12-04
  296. ### Added
  297. - Update to latest official changes.
  298. ## [2.14] - 2011-10-05
  299. ### Fixed
  300. - Mingw gcc 4.6+ build problems.
  301. ### Added
  302. - Recent official changes.
  303. ## [2.13] - 2011-08-21
  304. ### Fixed
  305. - ModuleInfo quotes support.
  306. ## [2.12] - 2011-07-30
  307. ### Changed
  308. - OSX 10.7 (Lion) tweaks.
  309. ## [2.11] - 2011-02-27
  310. ### Changed
  311. - Use g++ instead of ld for linking on win32.
  312. ## [2.10] - 2011-02-24
  313. #Added
  314. - Option for skipping module builds.
  315. ## [2.09] - 2010-04-30
  316. ### Fixed
  317. - loadBMK to work for local app folder.
  318. ## [2.08] - 2010-04-05
  319. ### Fixed
  320. - PPC universal link issue.
  321. ### Added
  322. - Tommo's include speedup fix.
  323. ## [2.07] - 2010-01-28
  324. ### Fixed
  325. - Win32 linking to include libmingw32 both at the start and end of the list. (should cover 3.9.5 and 4.x gcc's)
  326. ## [2.06] - 2009-12-30
  327. ### Added
  328. - APPID variable for scripts on Mac (useful for custom plists).
  329. ## [2.05] - 2009-12-10
  330. ### Fixed
  331. - Linux optimization flag -Os always being set.
  332. ### Added
  333. - .cc file support.
  334. ## [2.04] - 2009-06-28
  335. ### Changed
  336. - Tweaked thread error reporting.
  337. - Small speedup with threading.
  338. ## [2.03] - 2009-06-28
  339. ### Fixed
  340. - Import ordering.
  341. ### Changed
  342. - Improved custom options support for Universal builds.
  343. ## [2.02] - 2009-06-08
  344. ### Fixed
  345. - Multiple defines problem.
  346. ## [2.01] - 2009-06-07
  347. ### Fixed
  348. - Dependency compilation issue - or lack of it!
  349. ## [< 2.00] - 2009-05-26
  350. ### Added
  351. - Multi-process (threading) support.
  352. ### Changed
  353. - Improved custom variable overriding.
  354. ## [< 2.00] - 2009-05-18
  355. ### Added
  356. - Universal support (Mac) with -i parameter.
  357. - Cross-compile support with -l win32.
  358. ## [< 2.00] - 2007-09-28
  359. ### Added
  360. - Custom appstub compiles using -b parameter.
  361. ### Changed
  362. - Synched with current bmk source.