Ganzer Thread in "all"-Ansicht

wxBasic selbst kompilieren

wxBasic-Forum (deutsch)

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 -owxbasic

strip 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.0

strip 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



Wesentlich aufwändiger ist es, wxBasic mit wxWidgets zu kompilieren.

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.




Antworten:

wxBasic-Forum (deutsch)