When switching our internal build system to support the PowerBuilder Standalone Compiler (pbc170) I ran into several issues that might be worth looking at.
The compiler does not provide a proper exit code.
In my tests several different build failures (missing object, linker error, ...) all resulted in the exit code 0. This resulted in having to parse the compiler output for any indications of errors (there is also no unique "an error happened" text). Just by changing the exit code to 1 in case of compilation / linker error would make error detection significantly easier.
The warnings are basically unreadable.
All information is provided in a single line. This resulted in roughly 24000 characters which proved to long for the parsing mechanism I used. There's no good reason for not adding line breaks. It makes the output both easier to parse and to read.
Stack size is fixed.
This is an issue of both pbc170 and the PowerBuilder IDE. The stack size is fixed to the same value (~1MB iirc) for both 32Bit and 64Bit Executables. We unfortunately ran into a recursive function which hit that limit in our 64Bit Build. While the function has been rewritten the difference in behavior made this one harder to find than it should have been.
Automatically filling VersionInfo with 0.
This is a minor complaint, but not providing all 4 fields for the FILEVERSION (/fvn) & PRODUCTVERSION (vn) results in being unable to generate the 32Bit executable. The 64Bit variant does not appear to have this problem. Since this can be worked around fairly easily this is mostly to inform others that might run into this.