Closed dmik closed 4 years ago
With a bunch of recent commits I moved quite far forward with gfx and discovered that we also need to port the aqua module (ui/aura
) to OS/2. Quoting: "Aura is a low-level windowing library, sort of a replacement for GDI or GTK". Since it's used on Windows (GDI), I'm going to use it on OS/2 as well as they have a lot in common in this area.
Meanwhile, faced this build break:
rm -f obj/third_party/libjpeg_turbo/libsimd_asm.a && "emxomfar" -r -c obj/third_party/libjpeg_turbo/libsimd_asm.a @"obj/third_party/libjpeg_turbo/libsimd_asm.a.rsp"
emxomfar: obj/third_party/libjpeg_turbo/libsimd_asm.a(obj/third_party/libjpeg_turbo/simd_asm/jccolor-mmx.o): Record too long
This code is generated by yasm (built from the in-tree yasm source with some Chromium patches). Needs investigation...
On 04/08/20 08:09 AM, Dmitriy Kuminov wrote:
This code is generated by yasm (built from the in-tree yasm source with some Chromium patches). Needs investigation...
YASM doesn't support our object formats so need to use nasm
Yes, I already discovered that — it uses ELF32 in my build. Will try to use nasm instead (I'm not sure chromium supports it out of the box). We also have an RPM build of libjpeg but chromium doesn't seem to support an external version and they provide some patches.
Actually I found support for external libjpeg in there and enabled it above. With that enabled and a bunch of recent commits, libgfx seems to be done. Now I get the following libs built:
obj/skia/libskia.a
obj/ui/gfx/libgeometry_skia.a
obj/ui/gfx/libcolor_space.a
obj/ui/gfx/codec/libcodec.a
obj/ui/gfx/animation/libanimation.a
obj/ui/gfx/ipc/color/libgfx_ipc_color.a
obj/cc/debug/libcc_debug.a
obj/cc/base/libcc_base.a
obj/cc/paint/libcc_paint.a
obj/ui/gfx/libgfx.a
I think that's enough for this ticket.
This seems to be the part that provides integration with the underlying OS windowing system (in our case with PM). Yes, Chromium uses its own painting primitives to render HTML. As opposed to WebKit, it doesn't involve Qt for that and it's not even possible. So we have to port it.
Needed for #3.