Your browser version is outdated. We recommend that you update your browser to the latest version.

Development Tools for BlackBerry 10

Posted 2/26/2021

This toolchain enables C and C++ programmers to compile software for BlackBerry 10 (BB10) using a custom-built gcc-9.3.0!

  • Build or download a current compiler compliant with modern standards.
  • Compile C++11 - C++17 programs and shared libraries.
  • Learn and test POSIX-compatible software with minimal modifications.
  • Coming soon:
    • Ready-made Makefiles and shell scripts for easier command-line work.
    • Edit and build from the latest Eclipse IDE
Download

 

Alternative/similar toolchain by extrowerk.
Z10 displaying text from a file processed using C++17's string_view
Successful build of gcc-9.3.0 libstdc++

While the C standard has remained fairly unchanged since BlackBerry stopped manufacturing smartphones themselves, C++ has seen major revisions to the language that enhanced and improved its utility as a general purpose and systems programming language.

Unfortunately, these features have remained inaccessible to the BB10 developers who still appreciate the impressive  architecture that underlies BlackBerry's last smartphone Operating System, the incredible QNX Real-Time OS. One of BB10's unique features was the ability to interface with QNX's POSIX API directly. This characteristic also opened up the possibility of continued software development using current tools even after the official ones became outdated.


The official development tools that come with the original Momentics development kit are still functional and can be used to develop software for BB10. BlackBerry has also kept their authentication servers active, which is necessary for the signing that all apps require before being deployed onto devices. Applications written in C or compatible with the C++03 and C++11 draft standards can still be compiled with the official tools available from BlackBerry's Native Development site.

However, Web, multimedia and some other foundational libraries have moved on towards newer standards, which is why the availability of an updated compiler toolchain is exciting news! There is renewed hope for up-to-date BB10 software!

This is just one piece of the puzzle, though. Bringing web browsing, productivity, and other modern apps to BB10 will require the personal investment of dedicated fans of the platform. Of these, there are many, and QNX is such an amazing Operating System, that the effort of porting foundational libraries as well as full-featured applications is much easier than on other embedded systems.

It was a pleasure; a challenging, sometimes frustrating, yet very rewarding and educational pleasure, building these tools. I could not have done it without the prior efforts of other BB10 developers so I would like to thank everyone who continues to keep the 'Spark' glowing bright.

Links:
Official BlackBerry 10 Native development website: A great resource for anyone learning or practising mobile systems proramming.

Extrowerk's toolchain:  Served as a  great starting point.

QNX: BlackBerry's versatile Operating System.


Rainer Grimm's string_view benchmark: A great test of c++17 working with BB10 native API's.