OPENSTEP Enterprise 4.1

From DisNCord Community Wiki
Jump to navigation Jump to search

OPENSTEP Enterprise 4.1 is a port of the OpenStep APIs, Adobe's Display PostScript engine, the NeXT/GNU Objective-C toolchain, and graphical application development tools, to Windows NT (3.51/4.0, x86), Solaris (SPARC), and HP-UX (HP-PA).

ToDo - Elaborate on this topic, further, based on Discord discussion, from a while ago. Need to investigate compatible Windows versions, build numbers, introduction date, and other info, at some point, too...

Windows NT Version

The Windows port is based on a modified version of CygWin, Congruent ToolBuster, and newly-developed adaptation layer code, by NeXT, and has additional functionality, to support interoperability with OLE, and Visual BASIC/COM.

This version was codenamed Bastion4R1, according to the "About NeXT Software" dialogue/tool.

UNIX Commands

Many of the UNIX/POSIX commands are based on the Congruent ToolBuster distribution of various GNU projects, including GNU FileUtils 3.1.

NeXT Mach Emulation Daemon v2.0

This is kept in ./NextLibrary/System/machd.exe, relative to the installation directory of OPENSTEP Enterprise, and implements a thin veneer of Mach's messaging APIs, on top of a Windows MailSlot (\\.\mailslot\NeXT\)-consuming message pump. It is intended to be ran as a Windows Service, and the main installation process will attempt to configure this, but it is also possible to run the daemon's executable, with the -install, or -remove arguments, to install, or uninstall the service, or with the -d argument, to keep it running, as a foreground process, that prints debugging information, on the standard output.

WindowServer, and Display PostScript

The WindowServer implementation is located in ./NextLibrary/System/WindowServer.exe, relative to the installation directory of OPENSTEP Enterprise, and is a 1.6MB binary, that implements ASCII85, and CCITT fax codecs, JPEG, LZW compression, the PostScript engine/font rendering, GDI contexts, Mach port communication, mapping the cursor location, alpha channels, and binding Win32/OpenStep widgets/window drawing.

A config file, written in PostScript, is used to configure BubbleJet, and laser printers.

ToDo - ./NextLibrary/System/PS.VM.le, which seems to be in an undocumented format, but seems to contain drawing command symbols, for things like shapes, mouse events, and colours

Teflon v0.01

./NextLibrary/System/nmserver.exe also exists (mentions "Teflon v0.01", "Network Server", "/usr/mach/etc/old_netmsgserver", cthread, and communicates with the machd, and deals with port right arbitration, naming services, and TCP socket binding)

NeXT Object Request Broker (ORB)

ToDo - Elaborate on implementation of this

The ORB is a component that integrates Windows's OLE/ActiveX runtime environment, and the COM Automation framework, with APIs for network transparency, over TCP/IP. It is used by some examples, included with OPENSTEP Enterprise, to demonstrate populating an Excel spreadsheet, with cells, from an OpenStep application, via a network, as well as interfacing with OpenStep APIs, from MS VisualBASIC applications, such as a calculator application.

GDB 4.15.3

The gdb --version command reports the following:

GDB 4.15.3 (i386-next-cygwin32), Copyright 1996 Free Software Foundation. Inc.

GCC 2.7.2

The gcc -v command reports the following:

Reading specs from C:/NeXT/NextDeveloper/Libraries/gcc-lib/1386-nextpdo-winnt3.5\2.7.2\specs
gcc version 2.7.2 for NeXT PDO

Solaris, and HP-UX Versions

The Solaris, and HP-UX ports use HP, and GNU components, and NeXT-developed code, to provide an OS abstraction, in place of Mach.

Note - sparc-nextpdo-solaris2, and hppa1.1-nextpdo-hpux tuples, for toolchain