OpenSpin - Open source Spin/PASM compiler in C/C++

Du hast ein Betriebssystem für den Hive geschrieben oder beschäftigst dich mit den grundlegenden Systemfunktionen, dann bist du hier richtig!
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: OpenSpin - Open source Spin/PASM compiler in C/C++

Beitrag von yeti »

----------8<----{20160531-0547-GMT}----->8----------

Version 1.00.79

In Git heißt sie noch "1.00.78-3-g0e79007", aber sich selbst nennt "openspin" nun schon...

Code: Alles auswählen

Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2016 Parallax Inc. DBA Parallax Semiconductor.
Version 1.00.79 Compiled on May 31 2016 07:10:26
...und eine entsprechende Zusammenfassung als Release-Info steht noch aus...

...irgendwas is' ja immer...

----------8<----{20160601-0845-GMT}----->8----------

Code: Alles auswählen

$ awk 'NF' main.spin # listet nur die nicht leeren Zeilen 
con
  _clkmode = xtal1|pll16x
  _clkfreq = 80_000_000
obj
  ser : "FullDuplexSerial"
pub main
  ser.start(31,30,0,115200)
  ser.str(string("Hallo Drohnen!",10,13))
  waitcnt(_clkfreq+cnt)
  ser.stop
$ /opt/openspin/bin/openspin -L /opt/parallax.spin.src/spin -u main.spin
Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2016 Parallax Inc. DBA Parallax Semiconductor.
Version 1.00.79 Compiled on May 31 2016 07:10:26
Compiling...
main.spin
|-FullDuplexSerial.spin
Done.
Unused Method Elimination:
    5 methods removed
    0 objects removed
  196 bytes saved
--------------------------
Program size is 572 bytes
...na diese Überflüssiglich-Code-Rauswerfing-Zusammenfassung ist doch mal viel hübscher als zuvor... ;-)

Code: Alles auswählen

$ /opt/spinsim/bin/spinsim main.binary -b
Hallo Drohnen!

$ _
----------8<----{20160606-1045-GMT}----->8----------

*räusper*

Version 1.00.80

...also so nennt sich jetzt selbst, was als "1.00.78-4-gfe4797b" in Git geführt wird...

Neuigkeiten bitte ich dem Log zu entnehmen, da eine Release-Zusammenfassung weiterhin aussteht. Im Wesentlichen dreht's ("spin"t?) sich noch um Code-Wegwerfing-Debugging...

----------8<----{Fast das Ende! Echt jetzt, ey!}----->8----------

DAS KLEINGEDRUCKTE:
U
NTER DEBIAN7 (ARMHF/CUBIETRUCK, ARMHF/PI2) UND DEBIAN8 AUF (ARMHF/PI2, I386, AMD64) GEBAUTE UND STATISCH GELINKTE BINÄRCHEN FINDEN SICH WIE ÜBLICH IM THREADKOPF. :-D
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Schrödingers #define?

Beitrag von yeti »

Newtons #define.

Code: Alles auswählen

$ cat PreProcessorTestDefine.spin 
#ifdef PING
#warning PING defined in main object.
#else
#warning PING undefined in main object.
#endif

PUB null
$ /opt/openspin/bin/openspin -q PreProcessorTestDefine.spin 
PreProcessorTestDefine.spin:4: warning: #warn:  PING undefined in main object.
$ /opt/openspin/bin/openspin -q -a PreProcessorTestDefine.spin 
PreProcessorTestDefine.spin:4: warning: #warn:  PING undefined in main object.
$ /opt/openspin/bin/openspin -q -D PING PreProcessorTestDefine.spin 
PreProcessorTestDefine.spin:2: warning: #warn:  PING defined in main object.
$ /opt/openspin/bin/openspin -q -a -D PING PreProcessorTestDefine.spin 
PreProcessorTestDefine.spin:2: warning: #warn:  PING defined in main object.
...so weit, so gut.

Schrödingers #define?

Ein Hauptprogramm, das ausgibt, ob es den Define "PING" sieht oder nicht...

Code: Alles auswählen

$ cat PreProcessorTestDefineVisibleInObject.spin
#ifdef PING
#warning PING defined in main object.
#else
#warning PING undefined in main object.
#endif

OBJ
  EXTERN: "PreProcessorTestDefineVisibleInObjectObject"

PUB null
...und ein von diesem benutztes Objekt, das ausgibt ob es "PING" sieht oder nicht...

Code: Alles auswählen

$ cat PreProcessorTestDefineVisibleInObjectObject.spin
#ifdef PING
#warning PING defined in included object.
#else
#warning PING undefinded in included object.
#endif

PUB none
...übersetzt mit dem Default-Präprozessor von OpenSpin...

Code: Alles auswählen

$ /opt/openspin/bin/openspin -q PreProcessorTestDefineVisibleInObject.spin
PreProcessorTestDefineVisibleInObject.spin:4: warning: #warn:  PING undefined in main object.
PreProcessorTestDefineVisibleInObjectObject.spin:4: warning: #warn:  PING undefinded in included object.
PreProcessorTestDefineVisibleInObject.spin:4: warning: #warn:  PING undefined in main object.
$ /opt/openspin/bin/openspin -q -D PING PreProcessorTestDefineVisibleInObject.spin
PreProcessorTestDefineVisibleInObject.spin:2: warning: #warn:  PING defined in main object.
PreProcessorTestDefineVisibleInObjectObject.spin:4: warning: #warn:  PING undefinded in included object.
PreProcessorTestDefineVisibleInObject.spin:4: warning: #warn:  PING undefined in main object.
...und übersetzt mit dem "-a"(lternativen)-Präprozessor von OpenSpin...

Code: Alles auswählen

$ /opt/openspin/bin/openspin -a -q PreProcessorTestDefineVisibleInObject.spin
PreProcessorTestDefineVisibleInObject.spin:4: warning: #warn:  PING undefined in main object.
PreProcessorTestDefineVisibleInObjectObject.spin:4: warning: #warn:  PING undefinded in included object.
PreProcessorTestDefineVisibleInObject.spin:4: warning: #warn:  PING undefined in main object.
$ /opt/openspin/bin/openspin -a -q -D PING PreProcessorTestDefineVisibleInObject.spin
PreProcessorTestDefineVisibleInObject.spin:2: warning: #warn:  PING defined in main object.
PreProcessorTestDefineVisibleInObjectObject.spin:4: warning: #warn:  PING undefinded in included object.
PreProcessorTestDefineVisibleInObject.spin:4: warning: #warn:  PING undefined in main object.
...und ich versteh's nicht...

Wie kann PING gleichzeitig definiert und undefiniert sein?
Und warum wird es, wenn definiert, nicht ins Objekt durchgereicht?

Ich schau diesen Code nun schon 2 Tage an und krieg dabei Muskelkater vom Kopfschütteln...

Hab ich mich verlaufen?
Kann man das verstehen?
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: OpenSpin - Open source Spin/PASM compiler in C/C++

Beitrag von yeti »

Ich hab das mit der 256-Subroutinen-Code-Objekte-Grenze bei OpenSpin in der Fehlerverwaltung gemeldet und 'ne Antwort darauf: https://github.com/parallaxinc/OpenSpin/issues/34

Angäblich geht das gar nicht, daß der ROM-Spin-Interpreter mit mehr als 256 solchen Dingern klar kommt.

Das scheint auch irgendwie zu stimmen, aber BSTC schmeißt genug raus... bzw OpenSpin schüttelt trotz "-u" zu früh mit dem Kopf?
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: OpenSpin - Open source Spin/PASM compiler in C/C++

Beitrag von TuxFan »

Moin moin am Mittag!
yeti hat geschrieben:Ich hab das mit der 256-Subroutinen-Code-Objekte-Grenze bei OpenSpin in der Fehlerverwaltung gemeldet und 'ne Antwort darauf: https://github.com/parallaxinc/OpenSpin/issues/34

Angäblich geht das gar nicht, daß der ROM-Spin-Interpreter mit mehr als 256 solchen Dingern klar kommt.

Das scheint auch irgendwie zu stimmen, aber BSTC schmeißt genug raus... bzw OpenSpin schüttelt trotz "-u" zu früh mit dem Kopf?
Ich interpretiere Roys Aussage als "definitiv geht nicht", da fix im Propeller-ROM durch ein Byte repräsentiert.
Am Rest seiner Aussage "benutze -u bei OpenSpin" hat er wohl den ersten Post nicht mehr im Sinn gehabt, in dem ausdrücklich die -u-Option bei OpenSpin von Dir eingeschaltet war.
Ich vermute mal ganz stark, daß der Precompiler von OpenSpin noch nicht auf Höhe des Precompilers von BST ist.
Gestern Abend hab ich noch einmal belflash angefaßt und alle "defines" in ein #include-file gepackt und die #include-Zeile in belflash und auch in bel-vga eingefügt. Hierbei den absoluten Pfad der #include-Datei angegeben, damit das File auch vom Preprozessor gefunden wird. #include läuft allerdings nur unter OpenSpin. Hiermit wird dann belflash ohne Fehlermeldung compiliert. Ich hab aber noch nicht ausprobiert ob das dann unter Hivebedingungen läuft.
Gruß aus dem z.Zt. beregneten Auenland
TuxFan

PS.: Wie ich grad sah ist Deine Diskussion mit Roy schon etwas weiter gelaufen als mein vorheriger Wissenstand war.
Wunder gibt es immer wieder.......
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: OpenSpin - Open source Spin/PASM compiler in C/C++

Beitrag von yeti »

TuxFan hat geschrieben:Gestern Abend hab ich noch einmal belflash angefaßt und alle "defines" in ein #include-file gepackt und die #include-Zeile in belflash und auch in bel-vga eingefügt. Hierbei den absoluten Pfad der #include-Datei angegeben, damit das File auch vom Preprozessor gefunden wird. #include läuft allerdings nur unter OpenSpin. Hiermit wird dann belflash ohne Fehlermeldung compiliert.
Ok... so weit bin ich mit leicht anderen Maßnahmen dann auch gekommen.

Bevor wir nicht einen API-Wechsel ausdiskutiert haben, erübrigen sich alle weiteren Experimente, OpenSpin auf TriOS loszulassen...

Man könnte reg-ios.spin in thematisch sortierte Einzeldateien zerhacken, aufdaß jedes Prog nicht die ganze Lib reinsaugt sondern schonmal die Teile auslassen kann, die es bestimmt nicht nutzt...

+++edit@20170520-0610-GMT
"limits.h", "string.h", "types.h" und viele andere Includes sind auch ohne Probleme getrennte Dateien, obwohl dann letztlich der ganze durch sie ge-API-te Kram in der selben Libc steckt...
---edit@20170520-0610-GMT


...oder ein ganz anderes Aufrufverfahren ersinnen...

Aber ohne grünes Licht für solche Änderungen, kommen wir nicht von BST(C) weg...

...da hängen ja nicht nur die TriOS-Quellen dran, sondern auch noch alle als eigene Pakete verteilten Zusätze...

Ob sich da je breiter Konsens für eine Änderung finden läßt...

...ich bin da grad eher mehr als nur ein bissl pessimistisch. :-(

Los, Leutz: Beweist mir, daß ich falsch liege!
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: OpenSpin - Open source Spin/PASM compiler in C/C++

Beitrag von PIC18F2550 »

Als Kritisch sehe ich auch diese Beschränkungen.

Code: Alles auswählen

error_loxce,	"Limit of 64 cases exceeded",
error_loxuoe,		"Limit of 32 unique objects exceeded",
error_loxudfe,		"Limit of 32 unique DAT files exceeded",
error_loxupfe,		"Limit of 32 unique PRECOMPILE files exceeded",
error_loxuafe,		"Limit of 32 unique ARCHIVE files exceeded",
error_loxee,		"Limit of 16 ELSEIFs exceeded",
error_loxspoe,		"Limit of 256 subroutines + objects exceeded",
error_ocmbf1tx,		"Object count must be from 1 to 255",
error_oex,			"Object exceeds 128k (before distilling)",
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: OpenSpin - Open source Spin/PASM compiler in C/C++

Beitrag von yeti »

PIC18F2550 hat geschrieben:Als Kritisch sehe ich auch diese Beschränkungen.

Code: Alles auswählen

error_loxce,	"Limit of 64 cases exceeded",
error_loxuoe,		"Limit of 32 unique objects exceeded",
error_loxudfe,		"Limit of 32 unique DAT files exceeded",
error_loxupfe,		"Limit of 32 unique PRECOMPILE files exceeded",
error_loxuafe,		"Limit of 32 unique ARCHIVE files exceeded",
error_loxee,		"Limit of 16 ELSEIFs exceeded",
error_loxspoe,		"Limit of 256 subroutines + objects exceeded",
error_ocmbf1tx,		"Object count must be from 1 to 255",
error_oex,			"Object exceeds 128k (before distilling)",
...das alte (originale) Propeller-Tool-IDE-Windows-Teil hat mindestens die selben Grenzen oder sogar noch tiefer liegende.

An "error_loxspoe" kann man wohl Spin-OPCode-Design bedingt nix machen... bei den Anderen hab ich noch weniger Ahnung...

Apropos: Neulich hat mich was bei BSTC schief angeguggt...

Code: Alles auswählen

(yeti@kumari:4)~/wrk/propeller/hive-trios-r57-source-2014-06-22-dr235.wip$ make
date '+START %F %T %Z'
START 2017-05-29 15:13:13 UTC
./bstc.linux -L lib -b -O a flash/administra/admflash.spin
Brads Spin Tool Compiler v0.15.3 - Copyright 2008,2009 All rights reserved
Compiled for i386 Linux at 08:17:46 on 2009/07/20
Loading Object admflash
Loading Object adm-fat
Loading Object adm-rtc.spin
Loading Object adm-hss
Loading Object adm-wav
Loading Object adm-rtc
Loading Object adm-com
Loading Object adm-plx
Loading Object glob-con
Program size is 14352 longs
2 Constants folded
Compiled 3179 Lines of Code in 0.152 Seconds
mv admflash.binary bin/flash/admflash.binary
cp bin/flash/admflash.binary bin/sdcard/system/admsys.adm
date '+END %F %T %Z'
END 2017-05-29 15:13:13 UTC
Warum hat nur "Loading Object adm-rtc.spin" ein ".spin" am Ende?
Und was bedeutet "Program size is 14352 longs"?

Code: Alles auswählen

(yeti@kumari:4)~/wrk/propeller/hive-trios-r57-source-2014-06-22-dr235.wip$ ls -l bin/flash/admflash.binary 
-rw-r--r-- 1 yeti yeti 14356 Mai 29 15:13 bin/flash/admflash.binary
"ls -l" zeigt die Größe neuderdings in "longs" an?
Zweifel anmeld!!!

Gibt es überhaupt einen ordentlichen Spin-Compiler?
Gibt es überhaupt ein ordentliches Spin?
War Spin von Anfang an eine Schnapsidee?

Irgendwie alles gaga!

Wo ist mein Beißholz?
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: OpenSpin - Open source Spin/PASM compiler in C/C++

Beitrag von yeti »

...das war im Mai-2013 und ich bin entweder zu müde/blöd/wasauchimmer, das "@@@" in OpenSpin zu finden oder es ist noch immer nicht drin...
...liegt's an mir?
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: OpenSpin - Open source Spin/PASM compiler in C/C++

Beitrag von yeti »

----------8<-----{20170922-0350-GMT}----->8----------

Nochmal zu Milton:

https://github.com/parallaxinc/OpenSpin/issues/37 ... hoffentlich hab ich zu so später Stunde (bin noch im langen Donnerstag) nicht zuviel Stuß zusammengetippt...

----------8<-----{20171008-1119-GMT}----->8----------

Der OpenSpin-Chef schaut mal auf das #define-Problem, das nun offiziell den Status "bug" hat:
OpenSpin/issues/37#issuecomment-334998589

...mein aktueller Parallax-Blues ist also schon ungefähr halbiert... \o/

----------8<-----{Miiiauuuuuu......}----->8----------
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: OpenSpin - Open source Spin/PASM compiler in C/C++

Beitrag von yeti »

----------8<-----{20180226-0700-GMT}----->8----------

...und es ward Version 1.0.81...

Code: Alles auswählen

commit 8c0537e0bdd9b372cedb0ad66f1e15b2f53a04c4
Author: Roy Eltham <reltham@gmail.com>
Date:   Sun Feb 25 20:22:16 2018 -0800

    Bumped to version 1.0.81
    
    Updated version to 1.0.81 and adjusted copyright notice to 2018
    Minor warning fix.

commit 6df4230213572698e1494e971fb893f54bd7da8e
Author: Roy Eltham <reltham@gmail.com>
Date:   Sun Feb 25 18:15:49 2018 -0800

    UnusedMethodElimination fix + x64 warning fixes
    
    With UnusedMethodElimination, if an object has no methods called, then
    the cognew/coginit referenced methods will not be marked as called since
    the methods containeding the coginit/cognew are not called. This fixes
    something mentioned in issue #21
    Added x64 compile options in the VS2017 project files for the
    PropellerCompiler.lib, and fixed up a bunch of warnings related to
    compiling in x64 mode. Note: openspin itself is still x86 (32bit) and
    still compiles the lib in x86(32bit) mode.

commit e5f45eabb4f28907163bf5f5ba97711f7f601dce
Author: Roy Eltham <reltham@gmail.com>
Date:   Sun Feb 25 17:20:33 2018 -0800

    Removed -static from Makefiles, now optional
    
    Applied jsdenson's suggestion from issue #28
    If you want -static builds then do 'make MSTATIC=-static'
...aber Schrödingers #define (—▶ Issue #37) ist noch nicht gefixt... :-(

Meine Begeisterung hält sich also in Grenzen.

----------8<-----{20180226-0735-GMT}----->8----------

Ah jetzt ja!

Was sich selber brav "Version 1.00.81" nennt...

Code: Alles auswählen

$ /opt/openspin/bin/openspin 
Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2018 Parallax Inc. DBA Parallax Semiconductor.
Version 1.00.81 Compiled on Feb 26 2018 07:30:23
usage: openspin
         [ -h ]                 display this help
         [ -L or -I <path> ]    add a directory to the include path
         [ -o <path> ]          output filename
         [ -b ]                 output binary file format
         [ -e ]                 output eeprom file format
         [ -c ]                 output only DAT sections
         [ -d ]                 dump out doc mode
         [ -t ]                 output just the object file tree
         [ -f ]                 output a list of filenames for use in archiving
         [ -q ]                 quiet mode (suppress banner and non-error text)
         [ -v ]                 verbose output
         [ -p ]                 disable the preprocessor
         [ -a ]                 use alternative preprocessor rules
         [ -D <define> ]        add a define
         [ -M <size> ]          size of eeprom (up to 16777216 bytes)
         [ -s ]                 dump PUB & CON symbol information for top object
         [ -u ]                 enable unused method elimination
         <name.spin>            spin file to compile
...ist laut GIT...

Code: Alles auswählen

$ ( cd OpenSpin && git describe --tags)
1.00.78-10-g8c0537e
...und das fließt in meine Benamsung der an der üblichen Stelle gebunkerten ZIPs ein...

----------8<-----{20180317-0230-GMT}----->8----------

Obige Version soll übrigens den Präprozessor geradegebogen haben. Irgendwie ist das an ihrem Erscheinungsdatum völlig an mir vorbeigeflogen! Ich geb Laut, sobald ich genug mit "#define and friends" getestet habe.

----------8<-----{Gähn!}----->8----------
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Antworten