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 potential ports and their differences to the Unix version. Currently ports exist for AmigaOS, AROS, MacOS X, RiscOS, BeOS, NeXTStep, Windoze and

## AmigaOS

`hsc` was originally developed on AmigaOS and its roots still show. Although development is going on under Linux, I try to maintain compatibility with AmigaOS as long as possible. Which is not that hard for a program that's almost completely pure ANSI C. There may be problems regarding TCP/IP networking as that is still an optional add-on to AmigaOS, and with some weird implementations of SAS/C's C library. AmigaOS with PPC extensions used to work but has been untested for a dozen versions or so as I don't have the necessary hardware. The same goes for AmigaOS with ixemul.library, though the reason foor this is my laziness.

## AROS

I recently added an AROS port as this system looks slightly more interesting than the comatose AmigaOS. Due to the good job the AROS team did on the gcc+devkit, compiling `hsc` yourself should pose no problems.

## MacOS X

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.

## 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. Note that this port hasn't been tested for a long time and is likely to be broken in some way. If you still use `hsc` on RiscOS, let me know.

## NeXTStep

NeXTStep counts as a unixoid system and should compile and run `hsc` just fine using the included autoconf script.

## 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.

## Windoze

Yes, HSC compiles under Windoze, at least under NT/XP. Options for M$ VC++ are included in the Makefile, although vor versions newer than 0.929 there might be problems with the latest additions of files. The safest option would probably be to use the CygWin environment and just compile with options for Unixoids. 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 9 and older, I don't don't have a compiler and I suppose the current user base cares as much about `hsc` as I do about their OS. 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.

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 `#ifdef`s in places where there are a few already.