wxBasic selbst kompilieren
Geschrieben von Mark am 09. Juli 2005 03:49:23:
Es ist in der Regel nicht nötig, dies zu tun, da fertige Binär-Pakete existieren.
Das kompilieren ist primär zur Fehlersuche/Erweiterung nötig.
Windows:
Das Original wird mit dem Borland-Compiler kompiliert.
Details: unbekannt (David fragen).
Linux:
Die Kommandozeilenversion geht einfach:
In den /src -Ordner des Windows-Zips wechseln, dann tippen:
gcc -lm main.c -owxbasicstrip wxbasic
#-- compress wxbasic if upx is available
upx wxbasic 2>/dev/null
Erweitert man wxbasic um Funktionen der XLIB:
gcc -lm main.c -owxbasic -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 -lXmu -lglib-2.0strip wxbasic
#-- compress wxbasic if upx is available
upx wxbasic 2>/dev/null
Die glib-Aufrufe sind nur für einige Erweiterungen nötig.
Upx http://upx.sf.net komprimiert den Interpreter von ca. 150 kb auf 50 kb Grösse.
Hinweise zum Erweitern (englisch):
http://wxbasic.sourceforge.net/phpBB2/viewtopic.php?t=809
http://wxbasic.sourceforge.net/phpBB2/viewtopic.php?t=799
Zuerst lädt man sich wxWidgets 2.4.2 herunter und kompiliert es.
Vorher sollte man es aber patchen:
http://wxbasic.sourceforge.net/phpBB2/viewtopic.php?t=760&p=3553#3553
Sonst funktionieren auf einigen Systemen die Menüs nicht.
Zum kompilieren werden diese Befehle benötigt:
./configure --disable-shared --enable-accel --enable-gtk2 --enable-monolithic --with-libpng=builtin --with-zlib=builtin --with-libjpeg=builtin --with-regex=builtin --with-expat=builtin --with-libtiff=builtin
make
Danach muß man noch "make" im Ordner /contrib/src/stc eingeben!
Nun erstellt man einen Unterordner wxbasic in /samples, und kopiert alle Dateien des /src-Ordners von wxbasic dorthin.
Nun müssen in wrap.cpp folgende Funktionen auskommentiert werden:
(nur der Code IN den Funktionen!)
wxInputStream_Eof()
SetTransferMode()
Das vorhandene "makefile" wird durch folgendes ersetzt:
# Generated automatically from Makefile.in by configure.
#
# File: makefile.unx
# Author: Julian Smart
# Created: 1998
# Updated:
# Copyright: (c) 1998 Julian Smart
#
# "%W% %G%"
#
# Makefile for minimal example (UNIX).
#top_srcdir = .
top_srcdir = ../..
top_builddir = ../..
#top_builddir = .
program_dir = samples/wxbasic
PROGRAM=wxbasic
OBJECTS =$(PROGRAM).o
DEPFILES=$(PROGRAM).d
#APPEXTRALIBS=libwx_gtk2_stc-2.4.so
APPEXTRALIBS=$(top_builddir)/lib/libwx_gtk2_stc-2.4.a
APPEXTRADEFS=-I$(top_srcdir)/contrib/include
include ../../src/makeprog.env
-include $(DEPFILES)
Jetzt kann man es kompilieren:
cd samples/wxbasic
make clean
make
Auf meinem Rechner (192 MB) muß ich dazu X beenden, sonst gibts Speicherfehler.