WindowPackage för Cim (GNU Simula)

cim-libwindowpackage-0.1.tar.gz (634 kB)


Vad är detta?

WindowPackage är något kul (?) som DNA har hittat på. Jag har tagit deras källkod och modifierat den friskt så att den går att kompilera med Cim (GNU Simula) och därmed också använda på diverse roliga datorer som vanliga människor har hemma, till exempel PC med Linux. Lägg märke till att även om det är DNAs källkod som jag modifierat, så är den nuvarande produkten att betrakta som mitt alldeles egna påhitt, och DNA lovar ingenting om dess funktion. (Ja, lite sådant där juridiskt hokus-pokus. Jag ska be en riktig jurist skriva lite mer sådant åt mig...)

Själv lovar jag heller inte speciellt mycket. Men det är meningen att min variant av WindowPackage skall fungera precis likadant som DNA:s original. Om du skulle upptäcka att den inte gör det på någon punkt, så säg gärna till mig så fort som möjligt.

I nuvarande skick så är WindowPackage ingenting som man kompilerar om bara för att det är roligt, och om man har mindre än 24 MB RAM i sin burk så gör man det nog helst aldrig. Att jag sedan inte har skrivit några flashiga och självkonfigurerande makefiler gör ju inte saken bättre. Därför har jag redan kompilerat allting för vad jag tror är de tre vanligaste processortyperna, i486, Sparc och MIPS. Observera att i486-versionen såklart går att använda på både 386or och Pentium-burkar om man nu har en sådan.

Kompilera och installera Cim får du dock göra själv...

Installation

För att installera WindowPackage-biblioteket så kopierar du filerna för rätt processortyp (i486, Sparc, MIPS) till det bibliotek där du har dina Simula-biblioteksfiler. Om du inte vet vilket detta är, så kan du alltid leta med:

find / -name libcim.a -print

;-)

Om du inte har mekat för mycket med din Cim eller installation av operativsystemet så borde det sedan bara vara att kompilera såhär:

Linux  : cim mittprogram -lwindowpackage -lX11 -L/usr/X11R6/lib
SunOS  : cim mittprogram -lwindowpackage -lX11 -lsocket
Ultrix : cim mittprogram -lwindowpackage -lX11

När du väl kopierat rätt filer till rätt plats, så kan du såklart radera hela windowpackage-biblioteket, om du nu inte har en oemotståndlig lust att ha binärfiler för tre olika processortyper liggandes som hårddiskvärmare... ;-) (Källkoden i katalogen "src" behöver du alls inte bry dig om ifall du inte vill. Den är bara med ifall någon skulle vara nyfiken på den.)

Brister och kommentarer

Klassen bitmap fungerar inte riktigt som den ska mot den X-server som jag kör på min Linux-burk. (Det är en XF86-någonting.) Om man bara skapar en ny bitmap, så kan man varken rita i den, eller sudda den. Att läsa in bitmapar från disk eller så går dock fint. På en hel massa andra X-servrar som jag testat med så fungerar det dock precis hur fint som helst. (Observera att den här bristen även finns i DNAs originalklass, så det är inte mitt fel! (Men jag ska fixa det så snart jag kommer på varför det händer...))

Vad gäller Ultrix så finns där några små lustigheter i "ar" som gör att jag inte lyckats få den att bygga innehållsförteckningar med symbolnamn längre än femton tecken. Därför får man skriva externdeklarationerna i sin källkod som:

external class WindowP;
external class PWindowP;

I stället för:

external class WindowPackage;
external class ProcessWindowPackage;

Som man alltid annars ska göra. Tänk på att detta även gäller för den "ar" som kommer med flera Linux- distributioner, ifall du nu hade tänkt kompilera om allting själv nu, vill säga...

Ja, hoppas att allting fungerar, och meddela mig gärna allt som du kommer på när du pysslar med WindowPackage. (Dock! Helst inga önskemål om stöd för färger! (Jag ska göra det om jag får tid/lust/ork i tillräcklig kombination någon gång i framtiden...))


Denna sida underhölls av Fredrik Roubert