Login
Username:

Password:

Remember me



Lost Password?

Register now!
Main Menu
Who's Online
1 user(s) are online (1 user(s) are browsing Forum)

Members: 0
Guests: 1

more...

Browsing this Thread:   1 Anonymous Users



« 1 ... 8 9 10 (11) 12 13 14 15 »


Re: Odyssey web browser future

Joined:
2010/8/30 7:20
Group:
Member
Posts: 1059
Offline
progressing on ppc front i notice that unlikely x86 there is some math functions missing from std:: namespace,

icu could take advantage of signbit, isnan, isfinite and round, all them take float arg i assume. for round(double) version is being suggested as alternative.

odyssey itself would like isnan and isinf.

i see that deadwood himself implemented/worked around it in odyssey source in /OdysseyWebBrowser/Source/WTF/wtf/MathExtras.h:

Quote:


#if OS(AROS)

#undef isinf
#undef isnan
#undef isfinite
#undef signbit

namespace std {

inline bool isinf(double num) { return __isinf(num); }
inline bool isnan(double num) { return __isnan(num); }
inline bool isfinite(double x) { return __isfinite(x); }
inline bool signbit(double num) { return __signbit(num); }

} // namespace std

inline double log2(double num)
{
return log(num) / 0.693147180559945309417232121458176568;
}

inline float log2f(float num)
{
return logf(num) / 0.693147180559945309417232121458176568f;
}
#endif



but it doest seem to work fo ppc, not sure yet of other obscure targets.

im not yet quite sure how this c++11 stuff is implemented on aros, but maybe if i had a template how to port such a function from linux i could attempt that? wouldnt that be useful?

Posted on: 4/2 17:02
Transfer the post to other applications Transfer


Re: Odyssey web browser future

Joined:
2004/3/29 9:54
From Scotland "The Cold"
Group:
Member
Posts: 2087
Offline
Quote:

wawa wrote:
progressing on ppc front i notice that unlikely x86 there is some math functions missing from std:: namespace,

icu could take advantage of signbit, isnan, isfinite and round, all them take float arg i assume. for round(double) version is being suggested as alternative.

odyssey itself would like isnan and isinf.

i see that deadwood himself implemented/worked around it in odyssey source in /OdysseyWebBrowser/Source/WTF/wtf/MathExtras.h:

Quote:


#if OS(AROS)

#undef isinf
#undef isnan
#undef isfinite
#undef signbit

namespace std {

inline bool isinf(double num) { return __isinf(num); }
inline bool isnan(double num) { return __isnan(num); }
inline bool isfinite(double x) { return __isfinite(x); }
inline bool signbit(double num) { return __signbit(num); }

} // namespace std

inline double log2(double num)
{
return log(num) / 0.693147180559945309417232121458176568;
}

inline float log2f(float num)
{
return logf(num) / 0.693147180559945309417232121458176568f;
}
#endif



but it doest seem to work fo ppc, not sure yet of other obscure targets.

im not yet quite sure how this c++11 stuff is implemented on aros, but maybe if i had a template how to port such a function from linux i could attempt that? wouldnt that be useful?


Deadwood change disables the use of AROS’s implantations and forces the use of compiler provided versions. I’m not sure this is necessary at all - have you tried removing the block of code?

Posted on: 4/3 6:40
_________________
Click to see original Image in a new window
Transfer the post to other applications Transfer


Re: Odyssey web browser future

Joined:
2010/8/30 7:20
Group:
Member
Posts: 1059
Offline
but i think deadwoods code disables c macros in order to provide c++ functions in std namespace as replacement according to c++11 standard. not sure if this does functionally matters. i think i have already tried to disabl the block, since it was suspicious to me, with no result. i will try again.

but then if you look up my previous, post icu6 could use some of the same functions on ppc. i can work around it with a define, similar as on m68k..

Posted on: 4/3 10:21
Transfer the post to other applications Transfer


Re: Odyssey web browser future

Joined:
2004/3/29 9:54
From Scotland "The Cold"
Group:
Member
Posts: 2087
Offline
Quote:

wawa wrote:
but i think deadwoods code disables c macros in order to provide c++ functions in std namespace as replacement according to c++11 standard. not sure if this does functionally matters. i think i have already tried to disabl the block, since it was suspicious to me, with no result. i will try again.


The compilers c++ headers should provide these.

Quote:

but then if you look up my previous, post icu6 could use some of the same functions on ppc. i can work around it with a define, similar as on m68k..


Posted on: 4/3 10:39
_________________
Click to see original Image in a new window
Transfer the post to other applications Transfer


Re: Odyssey web browser future

Joined:
2010/8/30 7:20
Group:
Member
Posts: 1059
Offline
so, removed the block, now even x86 6.3.0 compilation fails on that:
Quote:

[ 0%] Building CXX object Source/WTF/wtf/CMakeFiles/WTF.dir/CurrentTime.cpp.obj
In file included from /home/wawa/aros-x86-630/bin/linux-i386/tools/crosstools/lib/gcc/i386-aros/6.3.0/include/c++/cmath:45:0,
from /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/MathExtras.h:30,
from /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/text/StringImpl.h:31,
from /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/text/WTFString.h:29,
from /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/Assertions.cpp:41:
/home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/MathExtras.h: In function 'void decomposeDouble(double, bool&, int32_t&, uint64_t&)':
/home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/MathExtras.h:302:17: error: expected unqualified-id before '(' token
sign = std::signbit(number);
^
/home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/MathExtras.h: In function 'void doubleToInteger(double, long long unsigned int&)':
/home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/MathExtras.h:319:14: error: expected unqualified-id before '(' token
if (std::isnan(d) || std::isinf(d))
^
/home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/MathExtras.h:319:31: error: expected unqualified-id before '(' token
if (std::isnan(d) || std::isinf(d))
^
[ 0%] Building CXX object Source/WTF/wtf/CMakeFiles/WTF.dir/CryptographicallyRandomNumber.cpp.obj


edit: need to re-check the includes i guess.

Posted on: 4/3 10:49
Transfer the post to other applications Transfer


Re: Odyssey web browser future

Joined:
2004/3/29 9:54
From Scotland "The Cold"
Group:
Member
Posts: 2087
Offline
Quote:

wawa wrote:
so, removed the block, now even x86 6.3.0 compilation fails on that:
Quote:

[ 0%] Building CXX object Source/WTF/wtf/CMakeFiles/WTF.dir/CurrentTime.cpp.obj
In file included from /home/wawa/aros-x86-630/bin/linux-i386/tools/crosstools/lib/gcc/i386-aros/6.3.0/include/c++/cmath:45:0,
from /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/MathExtras.h:30,
from /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/text/StringImpl.h:31,
from /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/text/WTFString.h:29,
from /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/Assertions.cpp:41:
/home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/MathExtras.h: In function 'void decomposeDouble(double, bool&, int32_t&, uint64_t&)':
/home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/MathExtras.h:302:17: error: expected unqualified-id before '(' token
sign = std::signbit(number);
^
/home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/MathExtras.h: In function 'void doubleToInteger(double, long long unsigned int&)':
/home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/MathExtras.h:319:14: error: expected unqualified-id before '(' token
if (std::isnan(d) || std::isinf(d))
^
/home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/MathExtras.h:319:31: error: expected unqualified-id before '(' token
if (std::isnan(d) || std::isinf(d))
^
[ 0%] Building CXX object Source/WTF/wtf/CMakeFiles/WTF.dir/CryptographicallyRandomNumber.cpp.obj


edit: need to re-check the includes i guess.


Fixing the headers is the correct thing to do.

Posted on: 4/3 11:11
_________________
Click to see original Image in a new window
Transfer the post to other applications Transfer


Re: Odyssey web browser future

Joined:
2004/3/29 9:54
From Scotland "The Cold"
Group:
Member
Posts: 2087
Offline
Also you asked about a number of things either here or on the mailing list -:

# not all builds use gcc 6 for 2 reasons - firstly because not all code used compiles for all targets using gcc 6 (e.g icu as you are aware, particularly ARM), and secondly to ensure AROS code still compiles with the gcc 4 toolchain. Different tool chains expose different faults in our code and headers. The nighty builds are mainly for the developers to test things, not for general use. Likewise contrib is meant to be a bunch of code to ensure things compile correctly, and to also show people how to fix code to correctly compile for AROS.

# AROS doesn’t use a newer ICU for similar reasons - it doesn’t compile correctly everywhere (or didn’t when it was used previously) - particularly for arm and m68k. This may have been fixed in ICU now since it’s been over a year since I last touched that code.

# There are still fixes needed in AROS’s headers to make it work properly with c++

As you are aware I have spent a massive amount of work fixing AROS headers, the build system and code to work with newer tool chains (over a 2 year period) - but it is still not complete.

IMHO, the ‘ports’, odyssey and any other things should be in a separate source forge project that builds less frequently. It would probably take a little invested effort to set up such a project but once it’s done, it shouldn’t be hard to maintain going forward. Sadly people seem to be getting lazier, and just want to dump everything In the AROS repository so they don’t have to maintain it themselves.

Posted on: 4/3 11:24

Edited by Kalamatee on 2018/4/3 11:45:44
_________________
Click to see original Image in a new window
Transfer the post to other applications Transfer


Re: Odyssey web browser future

Joined:
2010/8/30 7:20
Group:
Member
Posts: 1059
Offline
Quote:

Kalamatee wrote:
Also you asked about a number of things either here or on the mailing list -:

# not all builds use gcc 6 for 2 reasons - firstly because not all code used compiles for all targets using gcc 6 (e.g icu as you are aware, particularly ARM)

so far im able to tell and i work mostly with 6.3.0, and with 4.6.4 only as fallback to test compatibility, everything enabled and still yet some compiles for m68k (i dont build arm or x64) with 6.3.0. the last poblem im aware of has been some slowstack optimization affecting nlist. certainly icu 4.2.1 depends on old toolchain, but it could eventually be replaced with 60.2 and aros owb, which is only application that depends ony it coulr be switched to internal icu replacement for all platforms, as it is on 68k. additionally building the version of icu cold be made conditional on toolchain used. but maybe it over-complictes things, i by no means insist on it.

currently i only commited the icu-60.2 diff, based on your work with previous versions, leaving it disabled and some make flags that only would affect 60.2 but do not have an effect on 4.2.1. this way the work wont be lost and the new library can be easily built within build system, tested and eventually fixed in due time.

Quote:

and secondly to ensure AROS code still compiles with the gcc 4 toolchain. Different tool chains expose different faults in our code and headers. The nighty builds are mainly for the developers to test things, not for general use. Likewise contrib is meant to be a bunch of code to ensure things compile correctly, and to also show people how to fix code to correctly compile for AROS.


sure. understood.

Quote:

# AROS doesn’t use a newer ICU for similar reasons - it doesn’t compile correctly everywhere (or didn’t when it was used previously) - particularly for arm and m68k. This may have been fixed in ICU now since it’s been over a year since I last touched that code.

the new icu crosscompiles fine for x86, ppc and 68k, with tools disabled. which is how we expect it, and all what we need, if it works corectly that is, which remains to be proven for 68k and ppc. aros owb cannot be linked against it.

Quote:

# There are still fixes needed in AROS’s headers to make it work properly with c++

id love to help with that, but i fear its beyond my capabilities.

Quote:

IMHO, the ‘ports’, odyssey and any other things should be in a separate source forge project that builds less frequently. It would probably take a little invested effort to set up such a project but once it’s done, it shouldn’t be hard to maintain going forward. Sadly people seem to be getting lazier, and just want to dump everything In the AROS repository so they don’t have to maintain it themselves.


maybe you have missed that, but ive already posted the link above. im working on odyssey here, forked from deadwoods repo:

https://github.com/wawatok/OdysseyWebB ... r/commits/odyssey-r187682

an option to fetch snapshot and be able to build it with ports remains an open option for the future.

Posted on: 4/3 12:25
Transfer the post to other applications Transfer


Re: Odyssey web browser future

Joined:
2004/3/29 9:54
From Scotland "The Cold"
Group:
Member
Posts: 2087
Offline
Quote:

wawa wrote:
Quote:

Kalamatee wrote:
Also you asked about a number of things either here or on the mailing list -:

# not all builds use gcc 6 for 2 reasons - firstly because not all code used compiles for all targets using gcc 6 (e.g icu as you are aware, particularly ARM)

so far im able to tell and i work mostly with 6.3.0, and with 4.6.4 only as fallback to test compatibility, everything enabled and still yet some compiles for m68k (i dont build arm or x64) with 6.3.0. the last poblem im aware of has been some slowstack optimization affecting nlist. certainly icu 4.2.1 depends on old toolchain, but it could eventually be replaced with 60.2 and aros owb, which is only application that depends ony it coulr be switched to internal icu replacement for all platforms, as it is on 68k. additionally building the version of icu cold be made conditional on toolchain used. but maybe it over-complictes things, i by no means insist on it.

currently i only commited the icu-60.2 diff, based on your work with previous versions, leaving it disabled and some make flags that only would affect 60.2 but do not have an effect on 4.2.1. this way the work wont be lost and the new library can be easily built within build system, tested and eventually fixed in due time.


Eventually we will need to use gcc6 for all builds or we won’t be able to compile newer code, such as the current Mesa - but until the remaining issues compiling existing code are all resolved it is not likely to happen.

Quote:

Quote:

and secondly to ensure AROS code still compiles with the gcc 4 toolchain. Different tool chains expose different faults in our code and headers. The nighty builds are mainly for the developers to test things, not for general use. Likewise contrib is meant to be a bunch of code to ensure things compile correctly, and to also show people how to fix code to correctly compile for AROS.


sure. understood.

Quote:

# AROS doesn’t use a newer ICU for similar reasons - it doesn’t compile correctly everywhere (or didn’t when it was used previously) - particularly for arm and m68k. This may have been fixed in ICU now since it’s been over a year since I last touched that code.

the new icu crosscompiles fine for x86, ppc and 68k, with tools disabled. which is how we expect it, and all what we need, if it works corectly that is, which remains to be proven for 68k and ppc. aros owb cannot be linked against it.


ARM is the main one which breaks, so it all needs to be tested (that’s why I had 13+ AROS build trees) with all AROS’s targets and verified as working before it can be switched. The other option is of course to drop OWB/ICU but I don’t think that’s desirable.

Quote:

Quote:

# There are still fixes needed in AROS’s headers to make it work properly with c++

id love to help with that, but i fear its beyond my capabilities.

Quote:

IMHO, the ‘ports’, odyssey and any other things should be in a separate source forge project that builds less frequently. It would probably take a little invested effort to set up such a project but once it’s done, it shouldn’t be hard to maintain going forward. Sadly people seem to be getting lazier, and just want to dump everything In the AROS repository so they don’t have to maintain it themselves.


maybe you have missed that, but ive already posted the link above. im working on odyssey here, forked from deadwoods repo:

https://github.com/wawatok/OdysseyWebB ... r/commits/odyssey-r187682

an option to fetch snapshot and be able to build it with ports remains an open option for the future.


I’m aware of that but I don’t know how github is with regards to doing builds like we use sourceforge for.

What I meant was, it would be better to have a separate project that pulls in the AROS SDK/toolchain and builds all the ‘extra’ software that isn’t strictly part of the OS. Of course there needs to be some common/expected tools that are included in the base AROS ‘package’, but everything else (games, extra code/replacements for AROS core components - such as dopus) should be done there. it also gives incentive to make sure the sdk is correct and working.

Posted on: 4/3 13:36
_________________
Click to see original Image in a new window
Transfer the post to other applications Transfer


Re: Odyssey web browser future

Joined:
2007/4/16 6:26
From Norway
Group:
Member
Posts: 3905
Offline
Kalamatee: Did you say new MESA!!

How much was that new laptop you needed :D

I mean it. I can try to collect. I will put in 100£ as a start.

Posted on: 4/3 13:45
_________________
www.aspireos.com
Transfer the post to other applications Transfer



« 1 ... 8 9 10 (11) 12 13 14 15 »



You can view topic.
You cannot start a new topic.
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.

[Advanced Search]


Search
Top Posters
1 paolone
paolone
4399
2 magorium
magorium
4095
3 nikolaos
nikolaos
3905
4 phoenixkonsole
phoenixkonsole
3904
5 deadwood
deadwood
2923
6 ncafferkey
ncafferkey
2744
7 mazze
mazze
2220
8 clusteruk
clusteruk
2112
9 Kalamatee
Kalamatee
2087
10 damocles
damocles
1789
© 2004-2017 AROS Exec