Intel inside - idiot outside.
(Author unknown)

Existing Ports

As hsc is cryptic to use, has no graphical user interface and does nothing else apart from reading an input file and output to another one, it is quite easy to port it to other systems, as long as they support some sort of command line interface and a decent C-compiler.

This chapter describes existing or planed ports and what are the differences to the version for AmigaOS. Currently ports exist for RiscOS, NeXTStep, AmigaOS with PowerPC, AmigaOS with ixemul.library, BeOS, Windoze and Unixoid systems (including MacOS X).

RiscOS

The port to RiscOS has been done by Sergio Monesi and Nick Craig-Wood. For details, please refer to http://www.alphawave.ltd.uk/sergio/hsc.html. Basically, it acts like the version for NeXTStep (see below), although you will have to use a special make tool.

NeXTStep

Searching For Syntax Definition

When searching for the Syntax Definition, hsc will look for the file you've specified using the option PrefsFile. If you did not specify any, it will search the for a file named hsc.prefs. If one of these directories does not contain a hsc.prefs or does not exist at all, hsc will silently proceed with the next one on this list.

Exit Code

On notes/warnings/errors/fatal errors showing up, hsc will return an exit code of 0/0/1/2.

AmigaOS with PowerPC

There is a port available that compiles with SAS/c. However, this was only done to show that it is possible. Although no changes to the code are necessary, currently nobody maintains this version so the executable might be slightly outdated. Concerning the pathetic mess which link format to use: it is the one from p5.

You can find the binary in aminet:text/hyper/hscPPC.lha, so you still need the ``normal'' archive for the documentation.

AmigaOS with ixemul.library

Most GNU-tools have been ported to AmigaOS using an additional library called ixemul.library. It is quite successful in turning an Amiga in a moldy and dribbling Un*x-box, emulating all those idiotic things like the ``..'' and ``/bin'' pretty shitty well. Of course you can also use hsc with it.

But if you prefer to rape your machine, you have to compile it yourself using the gcc-port from GeekGadgets. If you don't know what I'm currently talking about, you don't want to do this anyway. Actually the binary of hsc included in the archive for AmigaOS is able to deal with native filenames and system directories, so why bother?

BeOS

It has been reported to work. You should be able to compile it with mwcc. It acts similar to the version for NeXTStep.

But currently no one takes care about this port, and I never tried it out myself. So there might be problems with newer versions of this OS or the mwcc compiler. Most likely there are more compiler options that could be specified for better code.

Unixoid Systems

This version acts similar to the one for NeXTStep. There should be no problems compiling HSC out-of-the-box, since it has ben developed mainly on Linux since V0.918. HSC has been successfully used on at least [Mk]Linux, NetBSD, IRIX, HP/UX and Solaris.

MacOS X, as the first of Apple's systems to feature a decent commandline shell (unless you want to call the Apple-II's ``decent'', which I don't), has no problems running and compiling HSC. To compile, you need the Developer Tools (gcc, GNU make etc.) available by FTP from Apple. For obscure reasons, the OSX linker doesn't like HSC to be stripped of symbols with the ``-s'' switch, it wants ``-x''. Otherwise the procedure is the same as for other Unixoids.

Windoze NT

Yes, HSC compiles under Windoze, at least under NT. Options for M$ VC++ are included in the Makefile. It is not recommended to use this system for HSC, but if you really have to, by all means stay away from Frontpage(tm), GoLive!(tm), Dreamweaver(tm) and similar abominations and go for HSC.

MS-DOS Based Systems

Anything running off a crippled 8.3-format filesystem is out of the question. These systems should have been trashed 20 years ago and I will certainly not call a ``.pref''-file anything like ``.prf'' or ``.ini'' just because this junk doesn't run HSC. It might be possible to compile HSC on W32-based systems using FAT32, but I trust people still using them are not the types who'd want HSC anyway. And that's a Good Thing.

Other Systems

Ah, well, there are still systems without hsc.

For MacOS, I don't don't have a compiler and maybe one will have to write a GUI. Internally hsc is not designed to be used from command line only. If you take a look at the main() of source/hsc/hsc.c, you will see that it's only about ten lines of code. However, you will need to find a tool to do the project management - or integrate this part into your GUI. And that's probably where it starts to get tough...

Atari TOS counts as MS-DOS based (see above), especially the filename limitations.

For C64/C128 hsc is too slow and bloated, which of course is my fault. I'm pretty sure one could do a decent hsc-alike program on these machines.

Several other systems should have no trouble compiling the same way as for Unixoid systems or AmigaOS with ixemul.library. It mostly depends on the C-compilers available. Systems like VMS (I was told it's still in use in its incarnation for Alpha CPUs) with weird path separators and other niceties to keep programmers busy will probably need a few #ifdefs in places where there are a few already.