Online Developer Meeting (2024-05-28): Difference between revisions

From Octave
Jump to navigation Jump to search
No edit summary
(→‎Today's topics: Add notes about use of config.h / octave-config.h in Octave header files)
 
(One intermediate revision by one other user not shown)
Line 24: Line 24:
**** MXE is about cross-compiling from Linux to Windows
**** MXE is about cross-compiling from Linux to Windows
**** MSYS2 is about building **on** Windows
**** MSYS2 is about building **on** Windows
** aside: don't bring back 32-bit binaries: MSYS2 is about to stop shipping that too.
** aside: don't bring back 32-bit binaries even if MSYS2 is about to drop support for that platform.
* OctConf
* OctConf
** Rik to continue thinking about San Fran for now.
** Rik to continue thinking about San Fran for now.
* Use of config.h / octave-config.h in Octave header files.  What symbols belong in octave-config.h?
* Use of config.h / octave-config.h in Octave header files.  What symbols belong in octave-config.h?
** <code>config.h</code> should never be included in header files. The same holds for not-installed header files (like for libgui).
** <code>octave-config.h</code> should preferably '''not''' define platform-specific macros. Only ever define macros for features that can be enabled or disabled by configure switches.
** Design classes preferably such that the class definition doesn't differ depending on the target platform or Octave configuration. I.e., move conditional feature selection from the header files to the files that implement the member functions.
:: That means there should be no member functions or properties that are guarded by pre-processor macros in header files (independent on whether they are installed) if possible.


== Previous topics ==
== Previous topics ==

Latest revision as of 09:39, 10 June 2024

Today's topics[edit]

  • We've used just 483GB of our 4000GB Digital Ocean outbound data transfer limit so far in May. We could consider (limited?) distribution of default branch builds for testing purposes.
  • Timing for next bugfix release: Expected by now, but delayed again because of bugs(?) - do we need another release candidate?
    • We do not need another RC. TODO: @jwe to do release.
    • Some discussion about release-candidates: we generally do RC only for 9.1 but not for 9.2, 9.3 etc.
  • Using Octave 10 (or 11?) to introduce the string class and other changes that will break backward compatibility without the usual two-release deprecation period.
    • Most seemed to feel that trying to maintain both via switches or
    • TODO: strings branch ASAP
    • TODO: @jwe to make posts/wiki whatever track/identify isuses
  • GSoC
    • Brief introduction to the three summer projects.
    • Note: focus on classdef.
  • Octave in MSYS2 (binary distributor for Windows MinGW)
    • Idea was to consider *adding* Octave to their project
      • this *might* decrease our maintainence efforts for Windows.
        • this is currently taking at least several hours per week.
      • but it is perhaps too fast-moving for us, as they do rolling releases
      • perhaps does not give us a .exe-based installer.
        • MXE is about cross-compiling from Linux to Windows
        • MSYS2 is about building **on** Windows
    • aside: don't bring back 32-bit binaries even if MSYS2 is about to drop support for that platform.
  • OctConf
    • Rik to continue thinking about San Fran for now.
  • Use of config.h / octave-config.h in Octave header files. What symbols belong in octave-config.h?
    • config.h should never be included in header files. The same holds for not-installed header files (like for libgui).
    • octave-config.h should preferably not define platform-specific macros. Only ever define macros for features that can be enabled or disabled by configure switches.
    • Design classes preferably such that the class definition doesn't differ depending on the target platform or Octave configuration. I.e., move conditional feature selection from the header files to the files that implement the member functions.
That means there should be no member functions or properties that are guarded by pre-processor macros in header files (independent on whether they are installed) if possible.

Previous topics[edit]

  • Timing for next bugfix release
  • GSoC projects
    • 8 applications
    • Selection the day after the meeting
  • OctConf 2024
  • Roadmap and priorities for Octave 10
  • Discuss a potential timeline for native string class support
    • Blocker: Inability to save classdef objects to files. Potentially realizable in incremental steps:
      • Implement a low-level HDF5 interface that is usable from .m code.
      • Implement saving double arrays in Matlab-compatible -v7.3 format in .m files.
      • Implement saving in that format for other types (including classdef).
  • Should we make and distribute nightly builds for Windows for the default branch?
    • Traffic from Digital Ocean limited to 4 TB. (Higher monthly rate if exceeded?)
    • Probably no additional nightly build configurations for now.
  • Octave in MSYS2 (binary distributor for Windows MinGW)

See also[edit]