Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 28 мар 2024, 11:46

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: 10 авг 2013, 21:16 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
I've tried this, and all was done ok. :) There is a makefile and here you've a script that shows the sequence of actions.
Цитата:
# How to rebuild Ofront for Linux:
###############################

# Create /bin commands: oberon ocat ofront showdef
wget https://github.com/Oleg-N-Cher/OfrontPl ... z?raw=true -O ofront-1.2-linux2%2B.tar.gz
tar xvzf ofront-1.2-linux2+.tar.gz
rm ofront-1.2-linux2.tar.gz
sudo cp linux2/bin/* /bin
rm -rf linux2

# Rebuild Ofront from sources:
wget https://github.com/Oleg-N-Cher/OfrontPl ... z?raw=true -O ofront+.tar.gz
tar xvzf ofront+.tar.gz
cd ofront/v4/linux2
sudo make
ls ../../..
I am sure that most right way to edit Ofront's *.Mod sources is to open/save its in Oberon environment. But about this I'll write next time.

Tried under Ubuntu 12.04 LTS on i586 32 bit (must works under ARMs too).


Вложения:
OfrontDone.png
OfrontDone.png [ 21.54 КБ | Просмотров: 11305 ]
Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 11 авг 2013, 01:05 
Не в сети

Сообщения: 104
thanks it worked


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 17 авг 2013, 01:18 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Oleg N. Cher писал(а):
Hi All,

Dr. Josef Templ, author of Ofront wrote me that OMinc has Ofront for CP (not builded under BlackBox, but translating CP language to C). Mr. Marc Frei has confirmed this information, and wrote me that this project is not ready for publication, but OMinc agree to publish and will be work at this line.

What is at nowadays? I'm not sure that the company is involved in this project and want to publish something. I propose to further refine and improve Ofront for translating Component Pascal language with help of community forces. And maybe someone wants to invest this project?

To add interest I say that I have achieved success in trying to rebuild Ofront from the sources.

https://zx.oberon.org/forum/viewtopic.php?f=32&t=133

Probably a good next step is porting Ofront for ARM architectures. Is it simple? I don't know. Is it possible? Sure. Someone wants to help me?

http://norayr.arnet.am/weblog/2010/02/15/erzahlung-uber-einfach-portieren/

I also have experience with the Ofront for BlackBox (I made ​​some useful modifications and improvements of it). And I see no problems to adapt Ofront for translating CP language.

I want to remind you that now Ofront is available under BSD license.

Norayr Chilingarian писал(а):
Hey, Oleg,
As you mentioned my blog post. it just works on 32 bit ARM GNU/Linux,
without any changes.
Take the generated C files from any x86 GNU/Linux, transfer them to arm
and type make, basicly, that's all what you need and you'll get native
arm version.
If you don't succeed tell me I should have static version compiled on
arm. But it's too simple.
Besides I already (since early spring) have working version for 64bit
GNU/Linux on x86_64 because who ever uses 32 bit? Just never found time
to put it to my github, because I want to add some build system, which
will recognize module dependencies automatically, because we don't need
makefiles with Oberon, it has modules hierarchy.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 02 сен 2013, 20:33 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
I've made useful modifications for "Ofront for Linux" - the same modifications as in "Ofront for Windows".


Цитата:
Ofront for Linux
================

It's Ofront for Linux modified by VEDAsoft Oberon Club.

https://zx.oberon.org

In our work we need some features, and have added easily.

The project lives at:

https://github.com/Oleg-N-Cher/Ofront-for-Linux

Support forum (English and Russian languages are welcome):

https://zx.oberon.org/forum/viewforum.php?f=32


Thanks to Dr. Josef Templ for this great product!


Differences from the original ver. from Josef Templ, Software Templ OG
======================================================================

- Added supporting character '_' in identifiers. Use this feature with caution,
and only when absolutely necessary (for WinApi constants, etc).
Remember, this character is not present in the standards of Oberon/Oberon-2.


- Using identifiers concatenation '##' has been removed - old C compilers
(like free Turbo C v2.01) does not support it.
It needs to rewrite some macros in SYSTEM.h:

Was:
Код: "C"
    #define __IMPORT(name)	SYSTEM_INCREF(name##__init())
Now:
Код: "C"
    #define __IMPORT(name__init)	SYSTEM_INCREF(name__init())

Was:
Код: "C"
    #define __TDESC(t, m, n) \
static struct t##__desc {\
long tproc[m]; \
long tag, next, level, module; \
char name[24]; \
long *base[__MAXEXT]; \
char *rsrvd; \
long blksz, ptr[n+1]; \
} t##__desc
Now:
Код: "C"
      #define __TDESC(t__desc, m, n) \
static struct t__desc {\
long tproc[m]; \
long tag, next, level, module; \
char name[24]; \
long *base[__MAXEXT]; \
char *rsrvd; \
long blksz, ptr[n+1]; \
} t__desc

WARNING: Work for removing all '##' identifiers concatenations is not done
completely: macros __NEW(p, t), __DUPARR(v, t), __IS(tag, typ, level)
__GUARDR(r, typ, level), __GUARDEQR(p, dyntyp, typ), __GUARDEQP(p, typ),
__INITYP(t, t0, level), __INITBP(t, proc, num) still need to be modified.


- Add possibility of static linking to typebound procedures (a procedure name
as additional parameter in macro __SEND (in 'SYSTEM.h')).
It allows to use typebound procedures without having a tree of extra meta-information.
This possibility isn't used in Ofront itself, but it's useful to build very compact
binaries without extra meta-information and independent from Oberon-environment
(for example of using the feature - see XDev at https://github.com/Oleg-N-Cher/BB-XDev/ ).

Was:
Код: "C"
    #define __SEND(typ, num, funtyp, parlist)	((funtyp)(*(typ-(__TPROC0OFF+num))))parlist
Now (Ofront-like usage):
Код: "C"
    #define __SEND(typ, procname, num, funtyp, parlist)	((funtyp)(*(typ-(__TPROC0OFF+num))))parlist
Now (XDev-like usage):
Код: "C"
    #define __SEND(typ, procname, num, funtyp, parlist) procname parlist


- Allow the SHORTINT type to has the size of 2 bytes (set this in Ofront.par).


Vers. from VEDAsoft uses the same distro name with suffix '+'.

Binary distribution: ofront-1.2-linux2+.tar.gz
https://github.com/Oleg-N-Cher/OfrontPlus/blob/master/Arch/Ofront%20for%20Linux/ofront-1.2-linux2%2B.tar.gz?raw=true

Source code: ofront+.tar.gz
https://github.com/Oleg-N-Cher/OfrontPlus/blob/master/Arch/Ofront%20for%20Linux/ofront%2B.tar.gz?raw=true


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club