wxEuphoria Wxeu
Brought to you by:
mattlewis
To build wxEuphoria on Win32: * Download the latest wxWidgets 2.8 source from www.wxWidgets.org. * Start up msys (the MinGW Shell) and navigate to where wxWidgets is located, then type (see below for cross compilation instructions): $ cd build/msw $ ../../configure --disable-threads --enable-shared --enable-unicode --enable-graphics_ctx --enable-mediactrl VENDOR=eu $ make Note 1: you can add --without-subdirs to the configure line, which speeds up the build time by skipping all the examples. Note 2: after running configure, if you notice any lines say "yes" instead of "builtin", re-run configure and add --with-lib=builtin (where "lib" is the library name) to force wxWidgets to use its own version of that library. Note 3: you can add -jn to your make command, where n is the number of simultaneous build threads you want to use. Note 4: if you get "Memory exhausted" errors, run "make clean" and then add CXXFLAGS="-fno-keep-inline-dllexport" your make command. You can speed up the build by adding -j to the make command, e.g. -j4 will build four files at once. If the build fails with "Memory exhausted", run "make clean", then add CXXFLAGS="-fno-keep-inline-dllexport" to the configure command and run make again. * To cross compile (this is a lot faster), you'll need to add these when you run configure: --host=i586-mingw32msvc --prefix=/usr/i586-mingw32msvc You may need to adjust those based on the details of your MinGW cross compiler installed. For more information, see: http://wiki.wxwidgets.org/Cross-Compiling_Under_Linux If your MinGW installation does not support GDI+, you can either leave out the --enable-graphics_ctx, or supply the headers and libraries from a version of MinGW that does. Current versions of MinGW installed on windows have these. You'll need: MinGW/include/gdiplus.h MinGW/include/gdiplus/ MinGW/lib/libgdiplus.a You will also need to manually update the wxWidgets Makefile after configuring. Search for "-gdi32" and immediately after that, add "-lgdiplus". MinGW64 does not contain a library for wctl3d32.dll, so you'll need to remove the reference to it from the makefile: -lwctl3d32 There is some non-portable code in the wxMSW source that incorrectly casts 64-bit types into 32-bit types. If you get an error, add the following to your invocation of make: CXXFLAGS=-fpermissive * Once that finishes, go to your wxEuphoria directory (see below for cross compiling): $ ./configure path/to/wxWidgets $ make * To cross compile: $ ./configure --prefix path/to/wxWidgets --host i586-mingw32msvc $ make You may need to adjust the host based on your installed version of MinGW. * This will create libwxeu.dll in the build directory (default build; change using configure flag: --build-dir dir). Copy this dll, as well as all of the dlls from the wxWidgets/lib directory to the same directory as your euphoria interpreter. There are also two MinGW runtime dlls that need to be copied there, from the MinGW/bin directory: + libgcc_s_dw2-1.dll + libstdc++-6.dll To build wxEuphoria on Linux: * Download the latest wxWidgets 2.8 source from www.wxWidgets.org, or install wxWidgets 2.8.x using your package manager (in which case, you can skip the next two steps of building the wxWidgets binaries) * Dependencies: You must have the following packages installed in order to build wxEuphoria from source: * libwxgtk2.8-dev * gtk+-2.0-dev * libpango1.0-dev * From the base directory where you decompressed wxWidgets, type: $ ./configure $ make $ make install * The binaries will be moved to a system directory. You may need to run ldconfig (or /sbin/ldconfig) on the directory where the binaries were installed. * From the wxEuphoria source directory, type: $ ./configure $ make $ make install * The shared library will be moved to a system directory. You may need to run ldconfig (or /sbin/ldconfig) on the directory where the binaries were installed (should be /usr/local/lib). To build wxEuphoria on FreeBSD * Download the latest wxWidgets 2.8 source from www.wxWidgets.org * From the base directory where you decompressed wxWidgets, type: $ ./configure --disable-threads --enable-unicode $ make $ su # make install # ldconfig * The binaries will be moved to a system directory. * Dependencies: You must have the following packages installed in order to build wxEuphoria from source: * libwxgtk2.8-dev * gtk+-2.0-dev * libpango1.0-dev * From the wxEuphoria source directory, type: $ ./configure $ gmake $ su # gmake install # ldconfig * The shared library will be moved to a /usr/local/lib.