AWeb APL compile FAQ 1.02 (14 June 2002) Gabriele Favrin (gabriele@favrin.net) Legal status of this FAQ THIS FAQ CANNOT BE REDISTRIBUTED OUTSIDE AWEB MAILINGLIST AND THE AUTHOR'S OWN SITE (http://www.gabriele.favrin.net). A special permission is granted for the maintainer of AWeb project on Sunsite.dk. Updates See the end of this file for news and updates. [19/1/2003] This text is pretty old now. It will be updated as soon as I'll complete my new site. Please check also http://aweb.sunsite.dk for more information about AWeb APL project. Introduction This FAQ contains the information needed to recompile AWeb in its current form. This is not an official document and it's only written for benefit of current AWeb LEGAL users. Please don't start spreading different versions of AWeb executable if you don't add anything useful to it. One is enough, whoever does it. Source has been released to give people possibility to improve the program and make it live, not to ruin its reputation by flooding Amiga community with personal versions without any enhancement. Also, read CAREFULLY the AWeb Public Licence (APL) before doing anything. Currently there aren't any binary builds of the source code, nor there is an established development project, while work on this matter is being done by Henrik Mikael Kristensen. This document is to be considered always under construction and will be updated anytime new information becomes available. Always check the end of this file for news and updates. Latest version of this document can be found on: http://www.gabriele.favrin.net/testi/awebapl_compile_faq.txt Author of this document is Gabriele Favrin, a former betatester, translator and contributor of the AWeb project. Alan Hadzihasanovic, current ATO member and Bosnian translation coordinator did the spell checking. ------ Index of answers 1) Where can I find the AWeb source code? 2) Can I compile AWeb with any C compiler? 3) Do I need any external utility to compile AWeb? 4) Do I need any external includes? 5) Where can I find ClassACT's includes? 6) Can I use Reaction includes instead of ClassACT ones? 7) What is CyberGraphX Developer Kit and where can I find it? 8) What is AmiSSL SDK and where can I find it? 9) What is MiamiSSL SDK and where can I find it? 10) What is AmiTCP SDK and where can I find it? 11) What is INet225 SDK and where can I find it? 12) I can't find SDK for [something]; can I drop that feature's support? 1) Where can I find the AWeb source code? AWeb source code has been released under APL (AWeb Public Licence) and can be downloaded from the Yvon Rozijn's web page. URL: http://www.xs4all.nl/~yrozijn/aweb/ (AWeb APL archive) 2) Can I compile AWeb with any C compiler? AWeb, like many others Amiga programs, uses optimizations offered by SAS/C, the most famous Amiga C/C++ compiler. Currently SAS/C isn't on sale anymore. Maybe you can still find a second hand copy. At this time Fabio Alemagna is working to make AWeb compilable with GCC, but his effort will take some time. 3) Do I need any external utility to compile AWeb? Yes. With smake (the SAS/C make file) from AWeb APL archive you need the Commodore's catalog compiler CatComp which is only available in the Amiga Developer CD. FlexCat, a freeware compatible program, uses a different syntax; thus you have to edit smake to make it work. Please report if other freely available programs can be used without the need to edit smake. URL: http://www.aminet.net/dev/misc/FlexCat.lha (FlexCat) 4) Do I need any external includes? Unfortunately yes, and a lot of them. You need ClassACT includes and SDK (Software Developer Kit) for AmiSSL, AmiTCP, INet225, MiamiSSL and the CyberGraphX RTG system. See the following sections for more information about where to find these files. 5) Where can I find ClassACT's includes? ClassACT's includes aren't freely available. Its authors decided that developers willing to use them had to pay instead of asking both developers and users to register, like it happened with MUI. In 1999 ClassAct became Reaction, the official AmigaOS GUI. Currently almost all ClassACT's includes are part of the standard AmigaOS ones, which can be found in the freely available AmigaOS NDK. URL: http://www.amiga.com/3.9/download/NDK3.9.lha (AmigaOS 3.9 NDK) 6) Can I use Reaction includes instead of ClassACT ones? Yes, but since some constants have been changed, some modifications are required to compile AWeb with Reaction includes. On 9/6/2002 Juergen Lachmann posted the needed changes to the AWeb mailing list: in gst.c : remove every classact include. don't add the reaction includes here - there seems to be some problem with SAS/C. In textarea.c select.c input.c jdebug.c jslib.c mail.c news.c radio.c filefield.c checkbox.c button.c whistask.c author.c request.c netstat.c saveiff.c info.c print.c search.c popup.c frame.c winrexx.c event.c window.c authorlib.c bullet.c cabrtask.c field.c ftp.c hotviewer.c hotmanager.c cabrowse.c scroller.c boopsi.c tooltip.c copy.c cookie.c application.c remove the classact includes, and add the following lines: #define ALL_REACTION_CLASSES 1 #include #include In select.c jdebug.c jslib.c whistask.c request.c netstat.c info.c print.c search.c popup.c authorlib.c cabrtask.c ftp.c hotviewer.c hotmanager.c tooltip.c cookie.c : Change every occurence of "CA_OpenWindow" by "RA_OpenWindow". Change every occurence of "CA_HandleInput" by "RA_HandleInput" In textarea.c select.c filefield.c checkbox.c button.c window.c scroller.c boopsi.c: change every occurence of "CLASSACT_SpecialPens" to "REACTION_SpecialPens". Since Reaction offers backward compatibility, probably AmigaOS 3.1 users will be able to run a version of AWeb compiled with such files. 7) What is CyberGraphX Developer Kit and where can I find it? CyberGraphX is a RTG system for AmigaOS. It's required to manage high and true color graphic modes since the OS (up to version 3.9) supports only 8bit screens. AWeb directly uses CyberGraphX's functions in the "Save" and "Print" modules. While CyberGraphX is a commercial product, the SDK is freely available and can be downloaded from Aminet. The source code parts that requires this SDK are saveiff.c and print.c URL: http://www.aminet.net/dev/misc/CGraphX-DevKit.lha (CyberGraphX Developer Kit) 8) What is AmiSSL SDK and where can I find it? AmiSSL is a freely available SSL library for AmigaOS. AWeb supports it and already has the needed code. It requires includes from SDK to be compiled. The SDK is freely available on the author's site. The source code part that requires it is amissl.c URL: http://www.bigfoot.com/~TheAntony/AmiSSL/AmiSSLSDK.lha (AmiSSL SDK) 9) What is MiamiSSL SDK and where can I find it? MiamiSSL, like AmiSSL, is a SSL library for AmigaOS. Only registered Miami/MiamiDX users can use this product. MiamiSSL SDK can't be found on the web. It has to be requested from the author. Since Holger Kruse has been unreachable for months the only two options seems to be to drop the support for MiamiSSL (see section 12) or to build a dummy include file based on the source code's references of the library. Juergen Lachmann followed this way and he managed to compile AWeb and browse some SSL sites with MiamiSSL. The source code piece that requires MiamiSSL SDK is miamissl.c 10) What is AmiTCP SDK and where can I find it? AmiTCP SDK consists of includes needed to use BSDSocket library, currently the standard Amiga TCP/IP implementation. Both Miami and the forthcoming Roadshow TCP stacks are compatible with the AmiTCP API. SDK is freely available on Aminet. The source code piece that requires it is awebamitcp.c URL: http://www.aminet.net/comm/tcp/AmiTCP-SDK-4.3.lha (AmiTCP 4.3 SDK) 11) What is INet225 SDK and where can I find it? INet225 was an alternative TCP/IP stack for Amiga. Probably nobody uses it anymore but when AWeb was started, in late 1995, it was an option. SDK is freely available on Aminet. The source code piece that requires it is awebinet225.c URL: http://www.aminet.net/comm/net/Inet_SDK_SASC.lha (INet 225 SDK for SAS/C) 12) I can't find SDK for [something]; can I drop that feature's support? Probably yes, but you have to do some changes to the code. Good luck! If anyone is willing to report them, you can write to the author of this FAQ. Please DO NOT SPREAD cut versions of AWeb unless you HAVE TO and write very well what you have removed. Read again and again the APL licence before doing anything. ------ News and updates of this document 1.0 - Initial version of this FAQ. 1.01 - Added URL for AmiSSL SDK (thanks go to its author) and a possible way to compile AWeb without need of the MiamiSSL SDK. 1.02 - Information about the needed CyberGraphX SDK was missing. It has been filled thanks to Fabio Alemagna.