gpsimWin32
gpsim native WIN32 port
Introduction
This document describes how to compile and install gpsim on
WIN32 platforms.
Gpsim can be compiled in a CLI - command line interface mode
(no gui), or in GUI - graphical user interface mode.
Which tools are required, where to get
them
Native WIN32 gpsim port can be compiled
with
- MinGW
gcc or Cygwin
gcc -mno-cygwin compiler using makefile.mingw make files ("Official"
builds)
or with
- Microsoft Visual Studio .NET 2003 using VS .NET
project files
Some additional GNU tools are required to build gpsim:
- bison (or some other yacc compatible parser generator)
- flex (or some other lex compatible lexical analyzer
generator). The recommended flex version is 2.5.4.
- gawk (or some other awk compatible interpreter)
- GNU make for MinGW compilation
The recommended installation for bison, flex and gawk is from Cygwin environment.
The other possibility is to use nativeWIN32 ports of bison, flex and
gawk, which are part of UnxUtils
project and GnuWin32
project.
Cygwin environment is required (or at least recommended) for
WIN32 native compilation of additional packages.
How to set up development environment
for WIN32 port of gpsim
Cygwin installation:
Select DOS as the Default Text File type.
In the Devel Category select bison, flex, gawk, make, gcc, gcc-g++,
gcc-mingw-core and gcc-mingw-g++ packages.
You have to have C:\cygwin\bin specified in the PATH environment
variable, but I think that this is done by default from the Cygwin
installation.
In Microsoft Visual Studio .NET 2003
select Tools/Options...
In the Options dialog select Projects VC++ Directories and add
C:\cygwin\bin path.
Which additional packages are required,
where to get them, how to to install them
CLI (supported
only by VS .NET compilation):
The CLI WIN32 version of gpsim requires 2 additional packages:
popt and glib.
GUI:
The GUI WIN32 version of gpsim requires the following
additional packages, in addition to popt and glib, mentioned in the CLI
section:
- readline - The Readline
library provides a set of functions for use by applications that allow
users to edit command lines as they are typed in.
- gtkextra-2 - GtkExtra
is a useful set of widgets for creating GUI's for the Xwindows system
using GTK+. You can use it complementary to GTK+ and it is written in
C. It is also Free Software and released under the LGPL license.
- pthreads - The pthreads-win32
package implements Posix Threads on Win32. Note, pthreads are only
currently used in modules and in particular the usart module.
- pthreads-*-*-*.exe:
sources, header files, static libraries and DLLs, required for gpsim
modules development and by gpsim modules runtime.
The WIN32 ports of following packages are a part of Tor
Lillqvist's GTK+
(and GIMP) for Windows project. The latest version of
developer, runtime and source packages can be found at Tor
Lillqvist--GTK+ (and GIMP) for Windows--Downloads.
- gtk - GTK+
is a multi-platform toolkit for creating graphical user interfaces.
- pango - Pango
is a library for layout and rendering of text, with an emphasis on
internationalization. It forms the core of text and font handling for
GTK+-2.0.
- atk - The ATK
library provides a set of interfaces for accessibility.
Setting up the development environment
- Create the gpsim_proj directory for the complete gpsim
project
- Create the gpsim subdirectory for the gpsim package and
download the latest gpsim version from CVS
CLI (supported
only by VS .NET compilation):
- Create the readline subdirectory and extract readline-*-mswin32.zip
into it
- Create the popt subdirectory and extract popt-*-lib.zip into it
- Create the glib subdirectory and extract glib-dev-*.zip into it
- For the development of CLI mode, only header files from
glib package are required. The only functionality needed from the
library for the command line mode is slist (Singly-Linked Lists), which
is currently replaced with the implementation in plat/win32/glist.cpp.
- For the development of GUI mode, the complete glib
library is required.
- Double-click on gpsim.sln to start the Microsoft Visual
Studio .NET 2003, select Debug or Release solution configuration and
rebuild the solution.
GUI:
- Execute steps, described in previous CLI section
- Create the gtk+ subdirectory and extract gtk+-dev-*.zip into it
- Create the pango subdirectory and extract pango-dev-*.zip into it
- Create the atk subdirectory and extract atk-dev-*.zip into it
- Create the fontconfig subdirectory and extract fontconfig-dev-*.zip into it
- Use precompiled gtk+extra-2.1.1-dev-*.zip:
or compile gtk+extra-2.1.1-src-*.zip:
- Create the gtkextra-2 subdirectory and extract the
content of gtk+extra-1.1.0 directory from gtk+extra-2.1.1-src-*.zip
into it
- Go to gtkextra-2\gtkextra directory, run bash and
execute
make -f Makefile.win32
create gtkextra-2\lib directory and copy
gtkextra-2\gtkextra\libgtkextra-win32-2.0.a to
gtkextra-2\lib\libgtkextra-win32-2.1.lib
- Unpack pthreads-*-*-*.exe
self extracting archive to some directory and copy the contents
of the Pre-built directory to pthreads.
- Compile gpsim native WIN32 port:
-
For MinGW compilation, you have to compile the radline
DLL. Run the shell, go to the readline/win32/shlib subdirectory and
execute:
make -f GNUmakefile
Go to the gpsim subdirectory and execute:
make -f makefile.mingw
- For VS .NET compilation double-click on gpsim.sln to
start the Microsoft Visual Studio .NET 2003, select Debug GUI or
Release GUI solution configuration and rebuild the solution.
gpsim_proj
|
+- gpsim
+- readline
+- popt
+- glib
+- gtk+
+- pango
+- atk
+- gtkextra-2
+- fontconfig
+- pthreads (for modules).
Setting up the runtime
CLI:
- Extract popt1.dll from popt-*-bin.zip
package, bin directory o the same directory where gpsim.exe resides.
- Extract libintl-2.dll from libintl-*-bin.zip package, bin
directory to the same directory where gpsim.exe resides.
- Extract libiconv-2.dll from libiconv-*-bin.zip package,
bin directory to the same directory where gpsim.exe resides.
GUI:
- Extract bin\libglib-2.0-0.dll, bin\libgobject-2.0-0.dll and
bin\libgmodule-2.0-0.dll from glib-*.zip
package to the same directory where gpsim.exe resides.
- Extract bin\iconv.dll from libiconv-*.bin.woe32.zip
package to the same directory where gpsim.exe resides.
- Extract bin\intl.dll from gettext-runtime-*.zip
package to the same directory where gpsim.exe resides.
- Extract everything in bin directory, complete etc and
complete lib directory from gtk+-*.zip
package to the same directory where gpsim.exe resides.
- Extract bin\libpango-1.0-0.dll and
bin\libpangowin32-1.0-0.dll, complete etc and complete lib directory
from pango-*.zip package to
the same directory where gpsim.exe resides.
- Extract bin\libatk-1.0-0.dll from atk-*.zip
package to the same directory where gpsim.exe resides.
Modules:
- Unpack pthreads-*-*-*.exe
self extracting archive to some directory and copy file
Pre-built\lib\pthreadVC1.dll to the same directory where gpsim.exe
resides.
gpsimWin32 snapshots
gpsimWin32 snapshots can be found at http://gpsim.sourceforge.net/snap.php.
Document status
If you have questions / comments / other experiences about
WIN32 gpsim port, post them to the gnupic mailing list: gnupic@linuxhacker.org.
Package versions
Packages from GnuWin32
project:
Packages from Tor Lillqvist's
GTK+ (and
GIMP) for Windows project:
Other packages:
Last update: September 2, 2005 by Borut Ražem
This site is hosted by

|
|