Recently, I've been playing around with getting cross-compilation
toolchains created for all the platforms we currently support. This is
in its early stages, and we're currently missing toolchains for most
platforms -- something that will be addressed as time allows.

As an exercise[1] to remind myself of the magic required to build a
cross compilation toolchain from scratch, I started with creating a
toolchain[2] capable of building binaries for AmigaOS 3. (Whether the
resulting binaries work is a different matter and I'm currently
uninterested in finding out one way or another).

Given that, I figured that I may as well see how much of the existing
AmigaOS 4 frontend builds with it. One trivial compatibility header
later, and we get the attached buildlog. 

Given the totality of my AmigaOS knowledge can be written on the back of
a postage stamp, it'd be helpful if people who do have a clue could
provide suggestions as to the most sensible way to go about resolving
the remaining issues (ideally without introducing too many invasive
changes, as I'd rather avoid a maintenance nightmare)


J.

1. Amongst other things -- there was clearly an ulterior motive.
2. GCC 4.5.1 + Binutils 2.14 (ugh! old!) + Clib2 + OS 3.9 NDK
M.CONFIG: JPEG (libjpeg)        enabled       (NETSURF_USE_JPEG := YES)
M.CONFIG: JNG/MNG/PNG (libmng)  enabled       (NETSURF_USE_MNG := YES)
M.CONFIG: PDF export (haru)     disabled      (NETSURF_USE_HARU_PDF := NO)
M.CONFIG: glibc internal iconv  enabled       (NETSURF_USE_LIBICONV_PLUG := YES)
M.CONFIG: BMP (libnsbmp)        enabled       (NETSURF_USE_BMP := YES)
M.CONFIG: GIF (libnsgif)        enabled       (NETSURF_USE_GIF := YES)
M.CONFIG: PNG (libpng)  enabled       (NETSURF_USE_PNG := YES)
M.CONFIG: NSSVG (libsvgtiny)    disabled      (NETSURF_USE_NSSVG := NO)
   MKDIR: build-Linux-amiga
   MKDIR: build-Linux-amiga/deps
 COMPILE: utils/utils.c
 COMPILE: utils/utf8.c
 COMPILE: utils/useragent.c
 COMPILE: utils/url.c
 COMPILE: utils/talloc.c
 COMPILE: utils/messages.c
 COMPILE: utils/log.c
 COMPILE: utils/locale.c
 COMPILE: utils/http.c
 COMPILE: utils/hashtable.c
 COMPILE: utils/findresource.c
 COMPILE: utils/filename.c
 COMPILE: utils/base64.c
 COMPILE: render/textplain.c
 COMPILE: render/table.c
 COMPILE: render/list.c
 COMPILE: render/layout.c
 COMPILE: render/imagemap.c
 COMPILE: render/hubbub_binding.c
 COMPILE: render/html_redraw.c
 COMPILE: render/html_interaction.c
 COMPILE: render/html.c
 COMPILE: render/form.c
 COMPILE: render/font.c
 COMPILE: render/favicon.c
 COMPILE: render/box_normalise.c
 COMPILE: render/box_construct.c
 COMPILE: render/box.c
 COMPILE: image/webp.c
 COMPILE: image/svg.c
 COMPILE: image/rsvg.c
 COMPILE: image/png.c
 COMPILE: image/nssprite.c
 COMPILE: image/mng.c
 COMPILE: image/jpeg.c
 COMPILE: image/ico.c
 COMPILE: image/gif.c
 COMPILE: image/bmp.c
 COMPILE: desktop/version.c
 COMPILE: desktop/tree_url_node.c
 COMPILE: desktop/tree.c
 COMPILE: desktop/textinput.c
 COMPILE: desktop/textarea.c
 COMPILE: desktop/sslcert.c
 COMPILE: desktop/selection.c
 COMPILE: desktop/searchweb.c
 COMPILE: desktop/search.c
 COMPILE: desktop/scroll.c
 COMPILE: desktop/save_text.c
 COMPILE: desktop/save_pdf/pdf_plotters.c
 COMPILE: desktop/save_pdf/font_haru.c
 COMPILE: desktop/save_complete.c
 COMPILE: desktop/print.c
 COMPILE: desktop/plot_style.c
 COMPILE: desktop/options.c
 COMPILE: desktop/netsurf.c
 COMPILE: desktop/mouse.c
 COMPILE: desktop/knockout.c
 COMPILE: desktop/hotlist.c
 COMPILE: desktop/history_global_core.c
 COMPILE: desktop/history_core.c
 COMPILE: desktop/frames.c
 COMPILE: desktop/download.c
 COMPILE: desktop/cookies.c
 COMPILE: desktop/browser.c
 COMPILE: css/utils.c
 COMPILE: css/select.c
 COMPILE: css/internal.c
 COMPILE: css/dump.c
 COMPILE: css/css.c
 COMPILE: content/urldb.c
 COMPILE: content/llcache.c
 COMPILE: content/hlcache.c
 COMPILE: content/fetchers/fetch_file.c
 COMPILE: content/fetchers/fetch_data.c
 COMPILE: content/fetchers/fetch_curl.c
 COMPILE: content/fetch.c
 COMPILE: content/dirlist.c
 COMPILE: content/content.c
 COMPILE: amiga/utf8.c
amiga/utf8.c: In function 'utf8_to_local_encoding':
amiga/utf8.c:33:12: error: 'DFCTRL_CHARSET' undeclared (first use in this 
function)
amiga/utf8.c:33:12: note: each undeclared identifier is reported only once for 
each function it appears in
amiga/utf8.c:34:2: warning: implicit declaration of function 'ObtainCharsetInfo'
amiga/utf8.c:34:30: error: 'DFCS_NUMBER' undeclared (first use in this function)
amiga/utf8.c:34:52: error: 'DFCS_MIMENAME' undeclared (first use in this 
function)
amiga/utf8.c: In function 'utf8_from_local_encoding':
amiga/utf8.c:78:12: error: 'DFCTRL_CHARSET' undeclared (first use in this 
function)
amiga/utf8.c:79:30: error: 'DFCS_NUMBER' undeclared (first use in this function)
amiga/utf8.c:79:52: error: 'DFCS_MIMENAME' undeclared (first use in this 
function)
 COMPILE: amiga/tree.c
amiga/tree.c: In function 'ami_tree_resized':
amiga/tree.c:145:3: warning: implicit declaration of function 
'RefreshSetGadgetAttrs'
amiga/tree.c: In function 'ami_tree_drag_icon_show':
amiga/tree.c:266:12: warning: assignment discards qualifiers from pointer 
target type
amiga/tree.c:271:3: warning: passing argument 2 of 'ami_drag_icon_show' 
discards qualifiers from pointer target type
./amiga/drag.h:30:6: note: expected 'char *' but argument is of type 'const 
char *'
amiga/tree.c: In function 'ami_tree_scroller_hook':
amiga/tree.c:330:8: error: 'IDCMP_EXTENDEDMOUSE' undeclared (first use in this 
function)
amiga/tree.c:330:8: note: each undeclared identifier is reported only once for 
each function it appears in
amiga/tree.c:331:20: error: 'IMSGCODE_INTUIWHEELDATA' undeclared (first use in 
this function)
amiga/tree.c:335:33: error: dereferencing pointer to incomplete type
amiga/tree.c:335:55: error: dereferencing pointer to incomplete type
amiga/tree.c: In function 'ami_tree_open':
amiga/tree.c:544:6: error: 'IDCMP_EXTENDEDMOUSE' undeclared (first use in this 
function)
amiga/tree.c:561:24: error: 'BVS_DISPLAY' undeclared (first use in this 
function)
amiga/tree.c:631:4: error: 'WINDOW_NewMenu' undeclared (first use in this 
function)
amiga/tree.c: In function 'ami_tree_close':
amiga/tree.c:708:48: warning: comparison of distinct pointer types lacks a cast
amiga/tree.c: In function 'ami_tree_update_quals':
amiga/tree.c:719:2: error: 'WINDOW_Qualifier' undeclared (first use in this 
function)
amiga/tree.c:719:2: warning: initialization from incompatible pointer type
amiga/tree.c: In function 'ami_tree_event':
amiga/tree.c:993:10: warning: initialization makes integer from pointer without 
a cast
amiga/tree.c:993:10: warning: initialization makes integer from pointer without 
a cast
amiga/tree.c:993:10: warning: initialization makes integer from pointer without 
a cast
 COMPILE: amiga/thumbnail.c
amiga/thumbnail.c:21:32: fatal error: proto/Picasso96API.h: No such file or 
directory
compilation terminated.
 COMPILE: amiga/theme.c
amiga/theme.c:28:32: fatal error: proto/Picasso96API.h: No such file or 
directory
compilation terminated.
 COMPILE: amiga/stringview/urlhistory.c
 COMPILE: amiga/stringview/stringview.c
amiga/stringview/stringview.c: In function 'myStringOpenListview':
amiga/stringview/stringview.c:71:2: warning: initialization makes integer from 
pointer without a cast
amiga/stringview/stringview.c:82:25: warning: implicit declaration of function 
'IDoMethod'
amiga/stringview/stringview.c: In function 'myStringSearch':
amiga/stringview/stringview.c:150:2: warning: initialization from incompatible 
pointer type
amiga/stringview/stringview.c:169:2: warning: implicit declaration of function 
'GetHead'
amiga/stringview/stringview.c:169:7: warning: assignment makes pointer from 
integer without a cast
amiga/stringview/stringview.c:202:4: warning: initialization makes integer from 
pointer without a cast
amiga/stringview/stringview.c:216:3: warning: implicit declaration of function 
'GetSucc'
amiga/stringview/stringview.c:216:8: warning: assignment makes pointer from 
integer without a cast
amiga/stringview/stringview.c:228:2: warning: implicit declaration of function 
'RefreshSetGadgetAttrs'
amiga/stringview/stringview.c: In function 'myStringClass_OM_New':
amiga/stringview/stringview.c:396:2: warning: implicit declaration of function 
'IDoSuperMethodA'
amiga/stringview/stringview.c:440:3: warning: implicit declaration of function 
'ICoerceMethod'
amiga/stringview/stringview.c: In function 'myStringClass_GM_HandleInput':
amiga/stringview/stringview.c:624:7: warning: initialization from incompatible 
pointer type
amiga/stringview/stringview.c:627:8: warning: initialization makes integer from 
pointer without a cast
amiga/stringview/stringview.c:628:8: warning: initialization makes integer from 
pointer without a cast
amiga/stringview/stringview.c:641:6: warning: initialization from incompatible 
pointer type
amiga/stringview/stringview.c:645:6: warning: initialization from incompatible 
pointer type
amiga/stringview/stringview.c:671:8: error: 'IECLASS_MOUSEWHEEL' undeclared 
(first use in this function)
amiga/stringview/stringview.c:671:8: note: each undeclared identifier is 
reported only once for each function it appears in
amiga/stringview/stringview.c: In function 'MakeStringClass':
amiga/stringview/stringview.c:850:29: warning: assignment from incompatible 
pointer type
 COMPILE: amiga/sslcert.c
 COMPILE: amiga/search.c
amiga/search.c: In function 'ami_search_event':
amiga/search.c:267:5: warning: implicit declaration of function 
'RefreshSetGadgetAttrs'
 COMPILE: amiga/schedule.c
amiga/schedule.c: In function 'schedule':
amiga/schedule.c:65:2: warning: initialization from incompatible pointer type
amiga/schedule.c: In function 'schedule_remove':
amiga/schedule.c:95:2: warning: implicit declaration of function 
'IsMinListEmpty'
amiga/schedule.c:97:17: warning: implicit declaration of function 'GetHead'
amiga/schedule.c:101:17: warning: implicit declaration of function 'GetSucc'
amiga/schedule.c: In function 'schedule_run':
amiga/schedule.c:142:7: warning: initialization from incompatible pointer type
 COMPILE: amiga/save_pdf.c
 COMPILE: amiga/save_complete.c
amiga/save_complete.c: In function 'save_complete_gui_save':
amiga/save_complete.c:75:2: warning: initialization makes integer from pointer 
without a cast
amiga/save_complete.c: In function 'save_complete_htmlSaveFileFormat':
amiga/save_complete.c:105:2: warning: initialization makes integer from pointer 
without a cast
 COMPILE: amiga/print.c
amiga/print.c:33:32: fatal error: proto/Picasso96API.h: No such file or 
directory
compilation terminated.
 COMPILE: amiga/plotters.c
In file included from amiga/plotters.c:20:0:
./amiga/bitmap.h:26:33: fatal error: libraries/Picasso96.h: No such file or 
directory
compilation terminated.
 COMPILE: amiga/object.c
amiga/object.c: In function 'FreeObjList':
amiga/object.c:74:2: warning: implicit declaration of function 'IsMinListEmpty'
amiga/object.c:75:17: warning: implicit declaration of function 'GetHead'
amiga/object.c:79:17: warning: implicit declaration of function 'GetSucc'
 COMPILE: amiga/misc.c
amiga/misc.c: In function 'warn_user':
amiga/misc.c:36:2: warning: passing argument 1 of 'ami_utf8_easy' discards 
qualifiers from pointer target type
./amiga/utf8.h:21:7: note: expected 'char *' but argument is of type 'const 
char *'
amiga/misc.c:40:2: warning: implicit declaration of function 
'TimedDosRequesterTags'
amiga/misc.c:40:24: error: 'TDR_ImageType' undeclared (first use in this 
function)
amiga/misc.c:40:24: note: each undeclared identifier is reported only once for 
each function it appears in
amiga/misc.c:40:38: error: 'TDRIMAGE_WARNING' undeclared (first use in this 
function)
amiga/misc.c:41:8: error: 'TDR_TitleString' undeclared (first use in this 
function)
amiga/misc.c:42:8: error: 'TDR_GadgetString' undeclared (first use in this 
function)
amiga/misc.c:44:8: error: 'TDR_FormatString' undeclared (first use in this 
function)
amiga/misc.c:45:8: error: 'TDR_Arg1' undeclared (first use in this function)
amiga/misc.c:46:8: error: 'TDR_Arg2' undeclared (first use in this function)
amiga/misc.c: In function 'die':
amiga/misc.c:54:24: error: 'TDR_ImageType' undeclared (first use in this 
function)
amiga/misc.c:54:38: error: 'TDRIMAGE_ERROR' undeclared (first use in this 
function)
amiga/misc.c:55:8: error: 'TDR_TitleString' undeclared (first use in this 
function)
amiga/misc.c:56:8: error: 'TDR_GadgetString' undeclared (first use in this 
function)
amiga/misc.c:58:8: error: 'TDR_FormatString' undeclared (first use in this 
function)
amiga/misc.c:59:8: error: 'TDR_Arg1' undeclared (first use in this function)
amiga/misc.c: In function 'path_to_url':
amiga/misc.c:115:3: warning: implicit declaration of function 'DevNameFromLock'
amiga/misc.c:115:50: error: 'DN_FULLPATH' undeclared (first use in this 
function)
 COMPILE: amiga/menu.c
amiga/menu.c:25:28: fatal error: dos/anchorpath.h: No such file or directory
compilation terminated.
 COMPILE: amiga/login.c
amiga/login.c: In function 'ami_401login_login':
amiga/login.c:186:2: warning: implicit declaration of function 'ASPrintf'
amiga/login.c:186:11: warning: assignment makes pointer from integer without a 
cast
 COMPILE: amiga/iff_dr2d.c
 COMPILE: amiga/icon.c
amiga/icon.c:34:31: fatal error: graphics/blitattr.h: No such file or directory
compilation terminated.
 COMPILE: amiga/hotlist.c
 COMPILE: amiga/history_local.c
amiga/history_local.c: In function 'ami_history_open':
amiga/history_local.c:133:3: warning: implicit declaration of function 
'RefreshSetGadgetAttrs'
amiga/history_local.c: In function 'ami_history_event':
amiga/history_local.c:260:9: warning: assignment discards qualifiers from 
pointer target type
amiga/history_local.c:266:6: error: 'GA_HintInfo' undeclared (first use in this 
function)
amiga/history_local.c:266:6: note: each undeclared identifier is reported only 
once for each function it appears in
 COMPILE: amiga/history.c
 COMPILE: amiga/gui_options.c
amiga/gui_options.c:24:31: fatal error: proto/application.h: No such file or 
directory
compilation terminated.
 COMPILE: amiga/gui.c
In file included from amiga/gui.c:39:0:
./amiga/bitmap.h:26:33: fatal error: libraries/Picasso96.h: No such file or 
directory
compilation terminated.
 COMPILE: amiga/font.c
amiga/font.c:32:32: fatal error: proto/Picasso96API.h: No such file or directory
compilation terminated.
 COMPILE: amiga/filetype.c
amiga/filetype.c: In function 'fetch_filetype':
amiga/filetype.c:59:13: warning: initialization discards qualifiers from 
pointer target type
 COMPILE: amiga/fetch_mailto.c
amiga/fetch_mailto.c:28:27: fatal error: proto/openurl.h: No such file or 
directory
compilation terminated.
 COMPILE: amiga/drag.c
amiga/drag.c:29:31: fatal error: graphics/blitattr.h: No such file or directory
compilation terminated.
 COMPILE: amiga/download.c
amiga/download.c:28:31: fatal error: proto/application.h: No such file or 
directory
compilation terminated.
 COMPILE: amiga/cookies.c
 COMPILE: amiga/context_menu.c
amiga/context_menu.c:22:29: fatal error: proto/popupmenu.h: No such file or 
directory
compilation terminated.
 COMPILE: amiga/compat.c
 COMPILE: amiga/clipboard.c
In file included from amiga/clipboard.c:28:0:
./amiga/bitmap.h:26:33: fatal error: libraries/Picasso96.h: No such file or 
directory
compilation terminated.
 COMPILE: amiga/bitmap.c
In file included from amiga/bitmap.c:20:0:
./amiga/bitmap.h:26:33: fatal error: libraries/Picasso96.h: No such file or 
directory
compilation terminated.
 COMPILE: amiga/arexx.c
amiga/arexx.c: In function 'ami_arexx_execute':
amiga/arexx.c:135:2: warning: implicit declaration of function 'IDoMethod'
amiga/arexx.c: In function 'ami_find_tab_gwin':
amiga/arexx.c:152:2: warning: implicit declaration of function 'GetHead'
amiga/arexx.c:152:7: warning: assignment makes pointer from integer without a 
cast
amiga/arexx.c:157:3: warning: implicit declaration of function 'GetSucc'
amiga/arexx.c:157:7: warning: assignment makes pointer from integer without a 
cast
amiga/arexx.c:158:3: warning: initialization makes integer from pointer without 
a cast
amiga/arexx.c: In function 'ami_find_tab_bw':
amiga/arexx.c:176:7: warning: assignment makes pointer from integer without a 
cast
amiga/arexx.c:181:7: warning: assignment makes pointer from integer without a 
cast
amiga/arexx.c:182:3: warning: initialization makes integer from pointer without 
a cast
amiga/arexx.c:188:2: warning: return makes integer from pointer without a cast
amiga/arexx.c: In function 'ami_find_tab':
amiga/arexx.c:197:2: warning: implicit declaration of function 'IsMinListEmpty'
amiga/arexx.c: In function 'rx_open':
amiga/arexx.c:234:3: warning: initialization from incompatible pointer type
amiga/arexx.c: In function 'rx_save':
amiga/arexx.c:272:2: warning: implicit declaration of function 
'ami_update_pointer'
amiga/arexx.c:273:2: warning: implicit declaration of function 'FOpen'
amiga/arexx.c:275:18: warning: assignment discards qualifiers from pointer 
target type
amiga/arexx.c:278:3: warning: implicit declaration of function 'FClose'
amiga/arexx.c:279:3: warning: initialization makes pointer from integer without 
a cast

Reply via email to