Site dedicated to programming in QNX 6.5.0

I put results of my works and experience associated with the QNX operating system on this site. I work as a rule on an updated version of the system which at present the version 6.5.0 is. Practically this software is associated with moving the software from the LINUX/GNU system. Software which here is found isn't unfortunately available in official distributions of the QNX producer of the company QNX Software LTD. are these are results of my interests and works which I led.

Particularly I would like to pay attention to the misprision through QNX of a programming language ada and Objective-C. I put compilers of these languages. I also put the prolog and the quite new Vala language. Vala is closely associated with the Gnome project of which I try to put main elements.

Providing software on account of restrictions is as a rule in the form of ready binary packages. I try also to put instructions how to compile the software. With pleasure I will answer questions if so will appear.

New:

binary and source:
LLVM clang: llvm-3.0-qnx;
GNUstep: libobjc2-1.6; gnustep-make-2.6.1; gnustep-base-1.22.0
Library: gmp-5.0.2; mpfr-3.0.1; mpc-0.9; ppl-0.11.2;
Compiler and Ada: gcc/g++/ada/objc/objc++/fortran 4.6.1;
Prolog: gprolog-1.4.0;

As the compiler of ada language in QNX I use the GPL2011 compiler based on gcc4.5.3. On the https://libre.adacore.com/libre/ are sources GPL2011. A good source of examples is gnat-examples.tar.bz2. It is possible there to find a lot of examples of programming in Ada 2005. An interesting example of the technique of dynamic loading libraries is in an examples/plugins catalogue.

NEW
Compilers gcc/g++/ada/objc/objc++/fortran 4.6.1 for QNX 6.50.

gcc4.6.1-x86-qnx6.5.0-bld1.tar.bz2

=== objc tests ===
Schedule of variations: unix
Running target unix
Using /usr/pkg/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/pkg/share/dejagnu/config/unix.exp as generic interface file for target.
Using /src/QNX/gcc-4.6.1/gcc/testsuite/config/default.exp as tool-and-target-specific interface file.
Running /src/QNX/gcc-4.6.1/gcc/testsuite/objc/compile/compile.exp ...
Running /src/QNX/gcc-4.6.1/gcc/testsuite/objc/execute/exceptions/exceptions.exp ...
Running /src/QNX/gcc-4.6.1/gcc/testsuite/objc/execute/execute.exp ...
Running /src/QNX/gcc-4.6.1/gcc/testsuite/objc.dg/attributes/attributes.exp ...
Running /src/QNX/gcc-4.6.1/gcc/testsuite/objc.dg/dg.exp ...
Running /src/QNX/gcc-4.6.1/gcc/testsuite/objc.dg/gnu-encoding/gnu-encoding.exp ...
Running /src/QNX/gcc-4.6.1/gcc/testsuite/objc.dg/lto/lto.exp ...
Running /src/QNX/gcc-4.6.1/gcc/testsuite/objc.dg/pch/pch.exp ...
Running /src/QNX/gcc-4.6.1/gcc/testsuite/objc.dg/property/property.exp ...
Running /src/QNX/gcc-4.6.1/gcc/testsuite/objc.dg/special/special.exp ...
Running /src/QNX/gcc-4.6.1/gcc/testsuite/objc.dg/strings/strings.exp ...
Running /src/QNX/gcc-4.6.1/gcc/testsuite/objc.dg/tls/tls.exp ...
Running /src/QNX/gcc-4.6.1/gcc/testsuite/objc.dg/torture/dg-torture.exp ...
Running /src/QNX/gcc-4.6.1/gcc/testsuite/objc.dg/torture/strings/strings.exp ...
Running /src/QNX/gcc-4.6.1/gcc/testsuite/objc.dg/torture/tls/tls.exp ...
=== objc Summary ===
# of expected passes 2920
# of expected failures 6
# of unsupported tests 74
/src/QNX/gcc-4.6.1/nto-x86-o-ntox86/gcc/xgcc version 4.6.1 (GCC)

There is a gcc4.5.3/g++4.5.3 and GNAT GPL 2011 for QNX 6.50.
GNAT GPL 2011, the integrated Ada, C, and C++ toolset for Academic users and FLOSS developers is now available for download. This new edition provides many new features and enhancements in all areas of the technology
If somebody is interested in it please for the contact with me.
To the correct work of compilers they are necessary gmp, mpfr, mpc, ppl libraries. Go to Library tab

gcc-g++4.5.3-gnatGPL2011-x86-qnx6.5.0-bld1.tar.bz2

# ldd cc1
./cc1:
libppl_c.so.4 => /usr/local/lib/libppl_c.so.4 (0xb8200000)
libppl.so.9 => /usr/local/lib/libppl.so.9 (0xb8502000)
libpwl.so.5 => /usr/local/lib/libpwl.so.5 (0xb85f4000)
libgmpxx.so.4 => /usr/pkg/lib/libgmpxx.so.4.2.2 (0xb85f8000)
libmpc.so.2 => /usr/pkg/lib/libmpc.so.2.0.0 (0xb85fc000)
libmpfr.so.4 => /usr/pkg/lib/libmpfr.so.4.0.1 (0xb8611000)
libgmp.so.10 => /usr/pkg/lib/libgmp.so.10.0.2 (0xb865e000)
libz.so.1 => /usr/lib/libz.so.1 (0xb037f000)
libc.so.3 => /usr/lib/ldqnx.so.2 (0xb0300000)
libstdc++.so.6 => /usr/qnx650/host/qnx6/x86/usr/lib/gcc/i486-pc-nto-qnx6.5.0/4.5.3/libstdc++.so.6.0.14 (0xb86d1000)
libm.so.2 => /lib/libm.so.2 (0xb87c2000)
libc.so.1 => /lib/libc.so.1 (0xb038c000)

OLD
The source of programs: http://ftp.gnome.org/pub/GNOME/
atk - the source atk-1.28.0.tar.bz2 copy to pkgsrc/devel/atk; binary package atk-1.28.0.tgz
cairo -
the source cairo-1.8.8.tar.bz2 copy to pkgsrc/graphics/cairo; binary package cairo-1.8.8.tgz
glib2 - the source glib2-2.22.3.tar.bz2 copy to pkgsrc/devel/glib2; binary package glib2-2.22.3.tgz
gtk2- the source gtk2-2.18.5.tar.bz2 copy to pkgsrc/x11/gtk2; binary package gtk2+-2.18.5.tgz
vala - the source vala-0.7.9.tar.bz2 copy to pkgsrc/lang/vala; binary package vala-0.7.9.tgz

Vala is a new programming language that aims to bring modern programming language features to GNOME developers without imposing any additional runtime requirements and without using a different ABI compared to applications and libraries written in C.
There is very good tutorial
Vala shares a lot of syntax with C# and Java.
The simple example, hello.vala:
using GLib;
public class Test.HelloObject : Object {
public static int main(string[] args) {
stdout.printf("Hello, World\n");
return 0;
}
}

or BasicSample.vala:
/* class derived from GObject */
public class BasicSample : Object {
/* public instance method */
public void run () {
stdout.printf ("Hello World\n");
}
/* application entry point */
public static int main (string[] args) {
// instantiate this class, assigning the instance to
// a type-inferred variable
var sample = new BasicSample ();
// call the run method
sample.run ();
// return from this main method
return 0;
}
}

Compile and Run
$ valac -o basicsample BasicSample.vala
$ ./basicsample

New:

binary and source:
libobjc2-1.6_bin-QNX6.5.tar.bz2 for use with clang3.0 libobjc2-1.6_src-QNX6.5.tar.bz2
gnustep-make-2.6.1-QNX6.5.tar.bz2 and gnustep-make-2.6.1_src-QNX6.5.tar.bz2
gnustep-base-1.22.0_bin-QNX6.5.tar.bz2 and gnustep-base-1.22.0_src-QNX6.5.tar.bz2


Since in QNX we have two Objective-C compilers at our disposal (objc and clang) it it is possible to move GNUstep to QNX.
Objective-C is very interesting expanding the C language by object mechanisms. Unfortunately he isn't too popular compared with C++ but I think that he is worth it in order to at least to watch him. ObjC2 FAQ

The Low Level Virtual Machine (LLVM) is a compiler infrastructure, written in C++, which is designed for compile-time, link-time, run-time, and "idle-time" optimization of programs written in arbitrary programming languages. LLVM was originally developed as a research infrastructure at the University of Illinois at Urbana-Champaign to investigate dynamic compilation techniques for static and dynamic programming languages.

Clang is a compiler front end for the C, C++ and Objective-C programming languages. It uses the LLVM as its back end.
Its goal is to offer a replacement to the GCC. Development is sponsored by Apple, and it is licensed using a BSD-like open source license.
New: llvm-3.0-QNX6.5.tar.bz2 => This is the 3.0 version LLVM and Clang compiled under QNX 6.5.0 using clang.
source:
llvm-3.0_src-QNX6.5.tar.bz2

Demonstration program written in objc2 and compiled with the use clang and using the libobjc2 library.
Makefile
Photon.h       Photon.m
PhWindow.h  PhWindow.m
PhWidget.h   PhWidget.m
PhButton.h    PhButton.m
hello2.m
=================================================================  

Biblioteki niezbedne do pacy aplikacji.
Zasadniczo będę tu umieszczał pakiety pkgsrc w postaci źródeł jak i binarnych pakietów.

To the correct work of compilers gcc/g++ versions 4.5.*, 4.6.*, 4.7.* they are necessary gmp, mpfr, mpc, ppl libraries.
GMP - GNU Multiple Precision Arithmetic Library;
the source gmp-5.0.2.tar.bz2 copy to pkgsrc/devel/gmp; binary package gmp-5.0.2.tgz
MPFR - is a C library for multiple-precision floating-point computations with correct rounding;
the source mpfr-3.0.1.tar.bz2 copy to pkgsrc/math/mpfr; binary package mpfr-3.0.1.tgz
MPC - is a complex floating-point library with exact rounding;
the source mpc-0.9.tar.bz2 copy to pkgsrc/math/mpc; binary package mpc-0.9.tgz
PPL - is a Parma Polyhedra Library; binary package ppl-0.11.2.tgz

Biblioteki gmp, mpfr, mpc, ppl są niezbędne do pracy kompilatorów gcc/g++ w wersji 4.5.*, 4.6.*, 4.7.*
Kontakt ze mną bceler@op.pl lub bogdan@xserwis.com.pl