OPENSTEP Enterprise 4.1: Difference between revisions

From DisNCord Community Wiki
Jump to navigation Jump to search
Vmlemon (talk | contribs)
Relationship to ToolBuster
Bridgetr (talk | contribs)
m some caps fix here, some punctuation changes there
 
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
[[Category:Preservation and Documentation]]
[[Category:Preservation and Documentation]]
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).  
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...''
''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...''
Line 6: Line 6:
== Windows NT Version ==
== 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.  
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 <code>Bastion4R1</code>, according to the "About NeXT Software" dialogue/tool.
This version was codenamed <code>Bastion4R1</code>, according to the "About NeXT Software" dialogue/tool.
Line 12: Line 12:
=== UNIX Commands ===
=== UNIX Commands ===


Many of the UNIX/POSIX commands are based on the Congruent ToolBuster distribution of various GNU projects.  
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 ===
=== NeXT Mach Emulation Daemon v2.0 ===
This is kept in <code>./NextLibrary/System/machd.exe</code>, relative to the installation directory of OPENSTEP Enterprise, and implements a thin veneer of Mach's messaging APIs, on top of a Windows MailSlot (<code>\\.\mailslot\NeXT\</code>)-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 <code>-install</code>, or <code>-remove</code> arguments, to install, or uninstall the service, or with the <code>-d</code> argument, to keep it running, as a foreground process, that prints debugging information, on the standard output.  
This is kept in <code>./NextLibrary/System/machd.exe</code>, relative to the installation directory of OPENSTEP Enterprise, and implements a thin veneer of Mach's messaging APIs on top of a Windows MailSlot (<code>\\.\mailslot\NeXT\</code>)-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 <code>-install</code>, or <code>-remove</code> arguments, to install or uninstall the service, or with the <code>-d</code> 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 <code>./NextLibrary/System/WindowServer.exe</code>, relative to the installation directory of OPENSTEP Enterprise, and is a 1.6MB binary that implements ASCII85, 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, and <code>./NextLibrary/System/PS.VM.le</code> (which seems to be in an undocumented format), contains implementations of PostScript drawing commands (for things like shapes and colours), and handling mouse events.
 
=== Teflon v0.01 (Network Message Server) ===
 
This is implemented in <code>./NextLibrary/System/nmserver.exe</code>, relative to the OPENSTEP Enterprise installation directory, and communicates with the Mach Emulation Daemon to handle with port right arbitration, naming services, and TCP socket binding.
 
Strings in this binary mention "<code>Teflon v0.01</code>", "<code>Network Server</code>", "<code>/usr/mach/etc/old_netmsgserver</code>", and <code>cthread</code>.


=== NeXT Object Request Broker (ORB) ===
=== NeXT Object Request Broker (ORB) ===
''ToDo - Elaborate on implementation of this''
''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.
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 ===
=== GDB 4.15.3 ===
Line 34: Line 45:


== Solaris, and HP-UX Versions ==
== 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.
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''
''Note - sparc-nextpdo-solaris2, and hppa1.1-nextpdo-hpux tuples, for toolchain''

Latest revision as of 16:41, 24 January 2023

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, 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, and ./NextLibrary/System/PS.VM.le (which seems to be in an undocumented format), contains implementations of PostScript drawing commands (for things like shapes and colours), and handling mouse events.

Teflon v0.01 (Network Message Server)

This is implemented in ./NextLibrary/System/nmserver.exe, relative to the OPENSTEP Enterprise installation directory, and communicates with the Mach Emulation Daemon to handle with port right arbitration, naming services, and TCP socket binding.

Strings in this binary mention "Teflon v0.01", "Network Server", "/usr/mach/etc/old_netmsgserver", and cthread.

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